Einzelnen Beitrag anzeigen

Beckman

Registriert seit: 12. Jul 2004
205 Beiträge
 
#4

Re: sockets strings schicken/lan.

  Alt 28. Nov 2004, 13:59
muhahhaaa. habs rausgefunden

fstream.ReadBuffer(Daten, SizeOf(TDatensatz));

edit:
ich verwend .read(). funkt auch:
brauch naemlich keine buffer, deren sinn ich net versteh
weil ka, was der unterschied ist


so gehts

weil ich ja schoen brav immer string[x] gemacht hab


jetzt versuch ich das ganze mal wie oben vorgeschlagen ueber LAN zu senden mit send/receivebuf mit den sockets.



update:


ich will das als tmemory stream schicken und empfangen.





Delphi-Quellcode:
procedure TForm1.TcpServer1Accept(Sender: TObject;
  ClientSocket: TCustomIpClient);
var
  stream: TmemoryStream;
begin
stream := tmemorystream.Create;

ClientSocket.ReceiveBuf(stream.memory^, sizeof(TDatensatz));
//clientsocket.ReceiveBuf(stream, sizeof(TDatensatz));

stream.Read(Daten, sizeof(Tdatensatz));

memo1.Lines.Add(daten.Nachname);
memo1.Lines.Add(daten.Vorname);
memo1.Lines.Add(daten.Lehrer);
memo1.Lines.Add(daten.Klasse);
memo1.Lines.Add(daten.Bemerkung);

stream.Free;
end;

da werden nur leere zeilen erstellt.

ich will vorher das erhaltene in den memorystream laden und den dann dem daten-record uebergeben.

der fehler liegt irgendwo beim receivebuf imho...

ich weiss also ganz genau, wie lang der empfangene stream sein muesste, der in den memorystream soll, also so gross wie halt Tdatensatz aber das funkt net... *wein*


will wer helfen?
  Mit Zitat antworten Zitat