Class TCustomDXPlay (unit DXPlay)

Inherits from

TComponent

Constructors


constructor Create(AOwner: TComponent);

TCustomDXPlay


Functions

procedure Close;

Session connection } { Enum session

destructor Destroy;


function GetProviderNameFromGUID(const ProviderGUID: TGUID): string;


procedure GetSessions;


procedure Open;


procedure Open2(const NewSession: Boolean; const SessionName, PlayerName: string);


procedure SendMessage(ToID: DPID; Data: Pointer; DataSize: Integer);


procedure DoAddPlayer(Player: TDXPlayPlayer);

Application definition message

procedure DoClose;


procedure DoDeletePlayer(Player: TDXPlayPlayer);


procedure DoMessage(From: TDXPlayPlayer; Data: Pointer; DataSize: Integer);


procedure DoOpen;


procedure DoSessionLost;


procedure ClearSessionList;

DirectPlay address initialization

procedure CreateDPlayWithoutDialog(out DPlay: IDirectPlay3A; const ProviderName: string);


function GetProviders: TStrings;


function GetSessionsPty: TStrings;


function OpenDPlayWithLobby(out Name: string): Boolean;

Thread start

function OpenDPlayWithoutLobby(out Name: string): Boolean;


function OpenDPlayWithoutLobby2(const NewSession: Boolean; const ProviderName, SessionName, PlayerName: string): Boolean;


procedure Open_(NameS: string);


procedure ReceiveMessage;


procedure SendMessageEx(ToID: DPID; Data: Pointer; DataSize: Integer; dwFlags: DWORD);


procedure SetGUID(const Value: string);

Message to me

procedure SetProviderName(const Value: string);


Properties

property GUID : string


property IsHost : Boolean


property LocalPlayer : TDXPlayPlayer


property MaxPlayers : Integer


property ModemSetting : TDXPlayModemSetting


property Opened : Boolean


property Players : TDXPlayPlayers


property ProviderName : string


property Providers : TStrings


property SessionName : string


property Sessions : TStrings


property TCPIPSetting : TDXPlayTCPIPSetting


Events

event OnAddPlayer : TDXPlayEvent


event OnClose : TNotifyEvent


event OnDeletePlayer : TDXPlayEvent


event OnMessage : TDXPlayMessageEvent


event OnOpen : TNotifyEvent


event OnSessionLost : TNotifyEvent


Variables

FCalledDoOpen : Boolean;


FDPlay : IDirectPlay3A;


FGUID : string;


FInThread : Boolean;


FIsHost : Boolean;


FLocalPlayer : TDXPlayPlayer;


FMaxPlayers : Integer;


FModemSetting : TDXPlayModemSetting;


FOnAddPlayer : TDXPlayEvent;


FOnClose : TNotifyEvent;


FOnDeletePlayer : TDXPlayEvent;


FOnMessage : TDXPlayMessageEvent;


FOnOpen : TNotifyEvent;


FOnSessionLost : TNotifyEvent;


FOpened : Boolean;


FPlayers : TDXPlayPlayers;


FProviderName : string;


FProviders : TStrings;


FReadSessioned : Boolean;


FRecvEvent : array[0..1] of THandle;


FRecvThread : TThread;


FSessionName : string;


FSessions : TStrings;


FTCPIPSetting : TDXPlayTCPIPSetting;



Constructors


constructor Create(AOwner: TComponent);

TCustomDXPlay


Functions


procedure Close;

Session connection } { Enum session


destructor Destroy;


function GetProviderNameFromGUID(const ProviderGUID: TGUID): string;


procedure GetSessions;


procedure Open;


procedure Open2(const NewSession: Boolean; const SessionName, PlayerName: string);


procedure SendMessage(ToID: DPID; Data: Pointer; DataSize: Integer);


procedure DoAddPlayer(Player: TDXPlayPlayer);

Application definition message


procedure DoClose;


procedure DoDeletePlayer(Player: TDXPlayPlayer);


procedure DoMessage(From: TDXPlayPlayer; Data: Pointer; DataSize: Integer);


procedure DoOpen;


procedure DoSessionLost;


procedure ClearSessionList;

DirectPlay address initialization


procedure CreateDPlayWithoutDialog(out DPlay: IDirectPlay3A; const ProviderName: string);


function GetProviders: TStrings;


function GetSessionsPty: TStrings;


function OpenDPlayWithLobby(out Name: string): Boolean;

Thread start


function OpenDPlayWithoutLobby(out Name: string): Boolean;


function OpenDPlayWithoutLobby2(const NewSession: Boolean; const ProviderName, SessionName, PlayerName: string): Boolean;


procedure Open_(NameS: string);


procedure ReceiveMessage;


procedure SendMessageEx(ToID: DPID; Data: Pointer; DataSize: Integer; dwFlags: DWORD);


procedure SetGUID(const Value: string);

Message to me


procedure SetProviderName(const Value: string);


Properties


property GUID : string


property IsHost : Boolean


property LocalPlayer : TDXPlayPlayer


property MaxPlayers : Integer


property ModemSetting : TDXPlayModemSetting


property Opened : Boolean


property Players : TDXPlayPlayers


property ProviderName : string


property Providers : TStrings


property SessionName : string


property Sessions : TStrings


property TCPIPSetting : TDXPlayTCPIPSetting


Events


event OnAddPlayer : TDXPlayEvent


event OnClose : TNotifyEvent


event OnDeletePlayer : TDXPlayEvent


event OnMessage : TDXPlayMessageEvent


event OnOpen : TNotifyEvent


event OnSessionLost : TNotifyEvent


Variables


FCalledDoOpen : Boolean;


FDPlay : IDirectPlay3A;


FGUID : string;


FInThread : Boolean;


FIsHost : Boolean;


FLocalPlayer : TDXPlayPlayer;


FMaxPlayers : Integer;


FModemSetting : TDXPlayModemSetting;


FOnAddPlayer : TDXPlayEvent;


FOnClose : TNotifyEvent;


FOnDeletePlayer : TDXPlayEvent;


FOnMessage : TDXPlayMessageEvent;


FOnOpen : TNotifyEvent;


FOnSessionLost : TNotifyEvent;


FOpened : Boolean;


FPlayers : TDXPlayPlayers;


FProviderName : string;


FProviders : TStrings;


FReadSessioned : Boolean;


FRecvEvent : array[0..1] of THandle;


FRecvThread : TThread;


FSessionName : string;


FSessions : TStrings;


FTCPIPSetting : TDXPlayTCPIPSetting;