Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - eMails mit Hilfe von Threads abrufen ?


Kai Heitkamp - Fr 06.12.02 11:27
Titel: eMails mit Hilfe von Threads abrufen ?
Hallo,

ich hole mit einem Programm mit Hilfe der Indy POP3 Komponente (TIdPOP3) eMails ab und stelle erstmal die Header in einem ListView dar. Da wärend des Abholens das gesamte Programm lahm liegt, wollte ich die Abhol-Prozedur in ein Thread stecken. Nur kann er innerhalb der Thread-Prozedur nicht auf die POP3 Komponente der Hauptform zugreifen, an der Stelle stürzt er immer ab (EAccessViolation).

Gibt es eine Möglichkeit innerhalb einer Thread-Prozedur (".Execute", bzw. die mit Synchronize aufgerufene Prozedur) auf Komponenten der Hauptform zuzugreifen ?
Für einen Tipp wäre ich sehr dankbar !

Thx
Kai


Tino - Fr 06.12.02 16:42

Hallo Kai,

das würde mit der Synchronize-Technik glaube ich funktionieren. Aber warum gehört die POP3-Komponenten nicht dem Thread? Das diese nicht dort liegt macht die Sache ja nur schwieriger und umständlicher!

Gruß
TINO


ase - Fr 06.12.02 20:47
Titel: einen senf dazu
servus!

also die pop3 kompo sollte dem thread gehören. also der thread sollte die kompo bei Create erstellen und bei Destroy zerstören. währe echt sinnvoller und einfacher.

wenn du bei synchronize die abfrage startest, dann kannst du dir alles sparen weil bei synchronize der main vcl thread steht. dann kannste auch alles ohne threads machen, is gehupft wie gesprungen ;)

wenn du allerdings eine mail im treeview anzeigen willst, dann musst du das im synchronize machen!!


ciao