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!!