Zitat von
Luckie:
Wie andere Ideen? Die Auswertung dieser Ereignisse dieser Komponente ist die einzige Idee. Und wenn es bei dir nicht funktioniert, dann hast du einen Fehler in deinem Code
Nein, das ist bei den
Indy Komponenten in der Tat so. Beim Beginn des Versendens weiss die IdSMTP Komponente komischerweise noch nicht, wie gross die Mail ist. Ist wohl ein Bug, den ich folgendermassen umgehe, im OnWorkBegin Event:
Delphi-Quellcode:
procedure TdmMailHKA.IdSMTP1WorkBegin(Sender: TObject;
AWorkMode: TWorkMode; const AWorkCountMax: Integer);
var
FN : string ;
begin
FN := format ('c:\temp\%s.txt',['Mail']) ;
IndyMessage.SaveToFile (FN) ;
FS := TFileStream.Create(FN,fmOpenRead) ;
ProgressBar.Max := FS.Size ;
F.free ;
end;
Also schlicht die Message als File speichern und die Dateigrösse ermitteln.