Hi,
Ok, AntiFreeze Komponente ist drauf. Ruckelt auch nicht mehr. Jedoch erhalte ich wie erst am Ende der Übertragung die empfangenen bytes. Mit OnWorkBegin, OnWork, OnWorkEnd hab ichs auch versucht. Funktioniert nicht. Hier der Code:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
stream: TFileStream;
filename: TFileName;
begin
if opendialog1.Execute then
filename := opendialog1.FileName;
if fileexists(filename) then
begin
idTCPClient1.Connect(1000);
Stream := TFileStream.Create(filename,fmOpenRead + fmShareDenyNone);
showmessage('Größe der Datei: '+IntToStr(stream.Size));
idTCPClient1.WriteLn(filename+'|'+IntToStr(stream.Size));
idTCPClient1.OpenWriteBuffer;
idTCPClient1.WriteStream(Stream);
idTCPClient1.CloseWriteBuffer;
FreeAndNil(Stream);
idtcpclient1.Disconnect;
end;
end;
procedure TForm1.IdTCPClient1WorkBegin(Sender: TObject;
AWorkMode: TWorkMode; const AWorkCountMax: Integer);
begin
progressbar1.Max := AWorkCountMax;
end;
procedure TForm1.IdTCPClient1Work(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
begin
progressbar1.Position := AWorkCount;
end;
procedure TForm1.IdTCPClient1WorkEnd(Sender: TObject;
AWorkMode: TWorkMode);
begin
Progressbar1.Position := 0;
end;
Klappt nicht. Es scheint als würden dir Ereignisse nicht aufgerufen werden. Auf jedenfall tut sich in der ProgressBar nichts....
Trotzem schonmal danke!