Hi,
leider kann ich dir mit Winsocks nicht dienen! Was bring dich zu der Vermutung das Delphi 6 kein
Indy unterstützt???????? Alle Delphi Versionen ab min. 3 unterstützen
Indy, musst du dir halt nur saugen
Hier ---->
INDY 9.0
- Download 9.0.14 Source code distribution für Windows
- Unzip es!
- Je nachdem welches Delphi du hast führst du die dclIndyX0.dpk aus!Du hast Delphi 6 also die dclIndy60.dpk und drücks auf den Install Button!
Viola
Indy läuft unter Delphi 6!
Hier der funktionierende Code für das versenden eines Bildes mit einem Memorystream!
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
Server.DefaultPort:=33333;
Server.Active:=true;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
ST: TMemoryStream;
begin
Client.Port:=33333;
Client.Host:='192.168.2.103';
ST := TMemoryStream.Create;
Start.Picture.Bitmap.SaveToStream(ST);
with Client do
begin
try
Connect;
OpenWriteBuffer;
try
WriteStream(ST, true, true, 0); {das 2. true ist wichtig!, da es bewirkt, dass die Größe des Streams mittels WriteInteger zuerst verschickt wird}
CloseWriteBuffer;
except
CancelWriteBuffer;
raise;
end;
finally
disconnect;
ST.Free;
end;
end;
end;
procedure TForm1.ServerExecute(AThread: TIdPeerThread);
var
ST: TMemoryStream;
SizeOfIncomingStream: integer;
begin
ST := TMemoryStream.Create;
with AThread.Connection do
begin
try
SizeOfIncomingStream := ReadInteger;
ReadStream(ST,SizeOfIncomingStream);
finally
st.Position:=0;
Ziel.Picture.Bitmap.LoadFromStream(ST);
ST.Free;
disconnect;
end;
end;
end;
Nun steht dir und
Indy nichts mehr im Weg! Wenn du imernoch auf Winsocks besteht, die gegen quasi die Steinzeit symbolisieren wenn
Indy unser Zeitalter ist, musst du leider jemand anderes Fragen weil es in Delphi 7 nur noch
Indy gibt! Ich denke jeder hier im Forum wird dir aber zu
Indy raten!
Wenn du mit
Indy weiterarbeites stehe ich für alle Fragen zur verfügung!
@wardz!