Hallo nochmals,
Die Idee von Muetze war schon der richtige Weg!
aber Irgendwie verschwinden trotzdem noch Daten, ich muss etwas Falsch machen
Delphi-Quellcode:
procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
var
iMessLength : Integer;
iMax : Integer;
aMess : TClientList;
nachricht : TClientList;
begin
iMax := SizeOf(TClientList);
iMessLength := Socket.ReceiveBuf(nachricht,SizeOf(TClientList)); //daten Extrahieren
iDerEmpfangen := iDerEmpfangen + iMessLength;
if(iDerEmpfangen >= iMax)then begin
//Alle Daten sind da!
aMemStream.Seek(0,soFromBeginning);
aMemStream.ReadBuffer(aMess,SizeOf(aMess));
self.Memo1.Lines.Add(aMess[0].sClient_Name_PC);
self.Memo1.Lines.Add(aMess[3].sClient_Name_PC);
self.Memo1.Lines.Add(aMess[7].sClient_Name_PC);
aMemStream.Clear;
iDerEmpfangen := 0;
end else begin
//aMemStream.Seek(0,iDerEmpfangen);
aMemStream.Write(nachricht,SizeOf(TClientList));
end;
end;
Kann mir bitte jemand meinen Fehler aufzeigen? Ich verzweifel schon leicht damit.
mfg defede