Einzelnen Beitrag anzeigen

Dragon27

Registriert seit: 20. Nov 2003
Ort: Aßling
543 Beiträge
 
Delphi XE6 Enterprise
 
#1

Socket und ReciveBuf -> keine Daten

  Alt 8. Sep 2007, 03:00
Hallo zusammen,

ich habe ein Problem beim Empfangen von Records. Vielleicht könnt Ihr mir weiterhelfen!

Die Serverprocedur zum empfangen:

Delphi-Quellcode:

procedure TForm2.ServerClientRead(Sender: TObject; Socket: TCustomWinSocket);
var z:integer;
ENachricht, SNachricht:RNachricht;
begin
Socket.ReceiveBuf(ENachricht,sizeof(ENachricht));
log('empfangen! '+ENachricht.Befehl+' '+ENachricht.Text); //Schreibt lediglich eine Lognachricht in ein Memo...


end;
Die Clientprocedur zum senden:

Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
var SNachricht:RNachricht;
begin
SNachricht.Befehl:='logon';
SNachricht.text:=edit1.text;
sNachricht.Nickname:='';
Client.Socket.SendBuf(SNachricht, sizeof(SNachricht));

end;
Der Record:

Delphi-Quellcode:
type RNachricht=record
Befehl:String;
Text:String;
Nickname:String;
end;
Der Fehler (Beim Server):

Zitat:
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt Project2.exe ist eine Exception der Klasse EAccessViolation mit der Meldung 'Access violation at address 00403154 in module 'Project2.exe'. Read of address 004ED000' aufgetreten.
---------------------------
Anhalten Fortsetzen Hilfe
---------------------------

Ich habe jetzt die Firewall abgestellt... und trotzdem geht nix. Jedoch kann sich der Client connecten!

Danke für Eure Hilfe!!
Delphi is ......... DELPHI!!
  Mit Zitat antworten Zitat