Schade alles schon gemacht. Nach den Convertieren gibts den gleichen Fehler wie vorher. Programm läuft fest. Rien ne va plus = Nichts geht mehr.
Habe mir schon überlegt die Compunente in einen Stream zu packen und dann zu versenden hat aber auch nicht geklappt. Liegt vielleicht auch an mir, denn bei Senden und Empfangen von Stream's blicke ich noch nicht so durch.
Hier der StreamVersuch (läuft auch nicht)
Delphi-Quellcode:
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var s:string; MS:tstream;
begin
with Athread.Connection do
begin
s:=readln;
s:=uppercase(s);
if s='UPDATE' then
begin
try
ms:=tmemorystream.Create;
ms.WriteComponent(listview2);
OpenWriteBuffer;
try
WriteStream(ms, true, true, 0);
CloseWriteBuffer;
except
CancelWriteBuffer;
raise;
end;
finally
ms.Free;
end;
end;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
ms: TStream;
SizeOfIncomingStream: integer;
begin
ms:=Tmemorystream.Create;
with IdTCPClient1 do
begin
connect;
writeln('Update');
try
SizeOfIncomingStream := ReadInteger;
ReadStream(ms, SizeOfIncomingStream);
finally
Disconnect;
ms.ReadComponent(listview1); //Bin mir nicht ganz sicht ob dies richtig ist?!
ms.Free;
end;
end;
end;
Habe mich an der Vorlage aus der Code-Library gehalten.