Moin !
Zitat:
Anhand deines Quellcodes ist nicht ersichtlich wo/wie du auf den Hauptthread zugreifst bzw. vom Hauptthread auf Daten eines anderen Threads.
Ok evtl. habe ich mich da nicht genau ausgedrückt.
TIdIMAP4 ist im Kern abgeleitet von TIdTCPClient. TIdTCPClient nutzt ja einen Thread zum Daten abholen wenn ich nicht irre. Man kann zumindest in der
IDE erkennen das bei einem Connect ein Thread erzeugt wird (allerdings wird er auch ziemlich schnell wieder gekillt).
Nun stellt sich mir die Frage was passiert wenn ich Daten vom meiner TIdIMAP4 Instanz abholen will. Kann ich dann unter umständen ein Thread Problem bekommen wenn ich z.B. die Anzahl Mails in einem Postfach abfrage?
Auf meinen Code umgemünzt würde das bedeuten ...
Ich erstelle mir eine Instanz meiner Klasse.
Test := TGetMails.Create;
So und im folgenden Schritt mache ich den Connect, Postfach auswählen und dann z.B.
Test.TheImap.MailBox.TotalMsgs
Greife ich nun ggf. auf Daten eine Threads zu? Und kann das zu Problemen führen?