Einzelnen Beitrag anzeigen

Benutzerbild von devnull
devnull

Registriert seit: 5. Okt 2003
362 Beiträge
 
Delphi 7 Personal
 
#1

Nachricht an alle Teilnehmer (DXPlay)

  Alt 5. Jun 2005, 15:31
Hi,
ich hab ein Spiel fürs Netzwerk geschrieben und "DirectPlay" (DXPlay) verwendet.
Die Nachrichtenübertragung klappt vom Client zum Server, umgekehrt jedoch nicht.

Delphi-Quellcode:
procedure TFSpiel.sende (ID : integer; Nachricht : String);
VAR
  ChatMsg: ^TDXChatMsg;
  i, MsgSize: Integer;
  dwType:DWORD;
  Len:WORD;
  Msg:ARRAY[0..0] OF Char;
begin
   MsgSize :=SizeOF(TDXChatMsg)+Length(Nachricht);
   GetMem(ChatMsg, MsgSize);
   try
     with ChatMsg^ do
     begin
       dwType := DX_ChatMessage;
       Len := Length (Nachricht);
       StrLCopy(Msg, pChar(Nachricht), Length(Nachricht));
     end;

     if ID = 0 then
        {  Alle Teilnehmer  }
        FSpiel.DXPlay1.SendMessage(DPID_AllPlayers, ChatMsg,MsgSize)
     else
        {  Ein spezieller Teilnehmer  }
        FSpiel.DXPlay1.SendMessage(ID, ChatMsg, MsgSize);
   finally
     FreeMem(ChatMsg);
   end;
end;
Was ist denn am Code falsch?

PS: Würdet ihr lieber die INDY-Komponenten nehmen?

mfg
devnull
-- Never change a running system --
  Mit Zitat antworten Zitat