Forum: Netzwerke
Delphi
by DerAndereMicha,
11. Mai 2009
Hab inzwischen selbst eine Lösung gefunden. Ich schreibe die gesamte Message einfach vor dem Senden in einem Memory-Stream. Von dem kann ich dann die Größe auslesen und als Maximum dem Progressbar zuweisen. Die Position setze ich dann im OnWork-Ereignis der TIdSMTP-Komponente. So habe ich jetzt wenigstens eine Gesamtfortschritt beim Encodieren :-)
PS: Der Flaschenhals liegt glaube übrigens...
Forum: Netzwerke
Delphi
by DerAndereMicha,
8. Mai 2009
Ich benutze auch die 10er Version und so etwas wie
Line := Line + s;
kommt da nicht vor.
Gruß
Micha
Forum: Netzwerke
Delphi
by DerAndereMicha,
8. Mai 2009
Der Wert in OnWork ändert sich bei jedem MessagePart anders - abhängig von dessen Größe.
z.B.
Encoding text 0 - 349
Encoding text 349 - 507
Encoding attachment 507 - 6216
Encoding attachment 6216 - 6500
usw.
Forum: Netzwerke
Delphi
by DerAndereMicha,
8. Mai 2009
Hallo nochmal,
hab noch ein wenig mit OnWork rumexperimentiert und festgestellt, daß ich durchaus beim Encodieren einen Fortschritt bekomme. Leider bezieht sich die Byte-Anzahl aber immer auf die Gesamtgröße der Mail und nicht auf die der einzelnen Teile. Mein einziges Problem ist jetzt nur noch herauszubekommen, wie groß die Gesamtmail ist - dann könnte ich die Fortschrittsanzeige...
Forum: Netzwerke
Delphi
by DerAndereMicha,
8. Mai 2009
Hallo,
ich bin mir relativ sicher, da bei OnStatus als letztes "Encoding attachment" als AStatusText übergeben wird, bevor das Programm hängt.
Beispiel: E-Mail mit 3 Anhängen (50kb,700kb,2kb)
OnStatus:
...
Encoding attachment - 3 Sekunden