Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Indy - TIdMessage - Encoding - Fortschrittsanzeige (https://www.delphipraxis.net/133765-indy-tidmessage-encoding-fortschrittsanzeige.html)

nahpets 8. Mai 2009 14:43

Re: Indy - TIdMessage - Encoding - Fortschrittsanzeige
 
Hallo,

schau Dir die Funktion mal an, eventuell hast Du ja auf Anhieb eine Idee, wie es schneller gehen könnte. Wenn Du es dann umsetzt, um so besser. Und wenn's dann demnächst in die Indy's übernommen wird, dann noch viel besser. Per Stream dürfte das deutlich schneller gehen.

Kommt in Deiner Version auch noch häufig sowas vor?
Delphi-Quellcode:
Line := Line + s;
In der 10er Version sieht die Methode deutlich anders aus, als in meiner Version, aber ob es nicht noch schneller geht?

DerAndereMicha 8. Mai 2009 15:30

Re: Indy - TIdMessage - Encoding - Fortschrittsanzeige
 
Ich benutze auch die 10er Version und so etwas wie

Delphi-Quellcode:
Line := Line + s;
kommt da nicht vor.

Gruß
Micha

nahpets 8. Mai 2009 15:51

Re: Indy - TIdMessage - Encoding - Fortschrittsanzeige
 
Die 10er Version scheint deutlich überarbeitet zu sein im Vergleich zur 9er. Bei meinem Delphi 7 (9er?) ist halt noch das Line := Line + s drin.

DerAndereMicha 11. Mai 2009 09:24

Re: Indy - TIdMessage - Encoding - Fortschrittsanzeige
 
Leider konnte ich mein Problem bisher immernoch nicht lösen.

Arbeitet denn wirklich keiner hier sonst noch mit der Indy-SMTP-Komponente, der mir einen Tip geben könnte?

Gruß
Micha

DerAndereMicha 11. Mai 2009 10:45

Re: Indy - TIdMessage - Encoding - Fortschrittsanzeige
 
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 nicht in TIdEncoderQuotedPrintable.Encode, dort kommt er bei mir nur bei den Text-Parts der Message durch und das geht ziemlich schnell. Die Anhänge scheinen woanders codiert zu werden.

Gruß
Micha


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:58 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz