Hi,
Ich versende e-mails von meinem Programm aus über SMTP.
Auch Anhänge mitschicken geht.
Bei großen Anhängen dauert es eine weile bis es zu meinem e-mail Account hochgeladen und dann verschickt wurde also wollte ich eine ProgressBar einbauen um den Fortschritt sichtbar zu machen.
Mein Problem ist es das Progressbar1.max rauszubekommen.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| procedure TForm1.IdSMTP1WorkBegin(ASender: TObject; AWorkMode: TWorkMode; AWorkCountMax: Int64); begin ProgressBar1.Position:=0; end;
procedure TForm1.IdSMTP1Work(ASender: TObject; AWorkMode: TWorkMode; AWorkCount: Int64); begin ProgressBar1.Position:=AWorkCount; ProgressBar1.Update; end; |
So funktioniert die ProgressBar, allerdings ist sie schon längst voll obwohl noch Daten gesendet werden. Max ist voreingestellt auf 100 allerdings hängt es natürlich von der Dateigröße ab, was max ist. (Beim letzten Versuch z.b war es 50000)
Wenn ich das ProgressBar1.Max:=AWorkCountMax; bei 4: wieder dazunehme, bekomme ich , egal wie groß die Datei ist, überhaupt keinen Fortschritt angezeigt.
PS: Beim FTP Upload ist die Größe bekannt, dort funktioniert die ProgressBar auch so wie sie soll.