Autor Beitrag
zakoon
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 60



BeitragVerfasst: Mo 17.11.08 15:16 
Hallo zusammen,

In meinem Entwurf für einen Email-Checker gibt es den Programmteil, der sich per IMAP verbindet und Emaildaten vom Server holt. Das dauert mitunter richtig lange, und mein ganzes Programm bleibt solange hängen und reagiert nicht mehr.

Die Frage: Wie kann ich das lösen? Ist das ein Einsatzgebiet für nen TThread, oder gibts ne andere/bessere Möglichkeit?

Wenn ich einen Thread verwende, kann ich aus dem Thread heraus ganz normal Funktionen meiner Klasse ausführen, oder hängt dann wieder alles bzw. gibt es Probleme?

(Gibts irgendwo ne gute, kurze Einleitung zu threads im allgemeinen? Habe zwar schon manchmal welche verwendet, aber noch nicht wirklich verstanden...)

Danke! Zak.
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Mo 17.11.08 15:32 
Soweit ich weiß ist ein Thread da genau das richtige. Wie man sie verwendet weiß ich selbst nicht! :D

Ich hab mal gelesen das man am besten Messages benutzen soll um zwischen Thread und Hauptthread zu kommunizieren. Also einfach vom Thread eine Message mit einem bestimmten Wert an den Hauptthread senden und vom hauptthread auswerten lassen. Dabei musst du aber jeder Procedure die ausführbar sein soll einen wert (den wert den du schickst) zuordnen.

lg elundril

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 17.11.08 16:08 
Also ein Thread Tutorial habe ich hier: delphitutorials.michael-puff.de
zakoon Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 60



BeitragVerfasst: Mo 17.11.08 17:24 
user profile iconLuckie hat folgendes geschrieben Zum zitierten Posting springen:
Also ein Thread Tutorial habe ich hier: delphitutorials.michael-puff.de


Danke für den Hinweis, das Tutorial hat mir beim Einstieg gut geholfen.

Leider ist ausgerechnet der Abschnitt "6.4 Ereignisobjekte" etwas kurz geraten. Wenn ich alles richtig verstanden habe, brauche ich gerade so ein Objekt, um dem Haupt-Thread mitzuteilen, dass der Neben-Thread fertig wurde.

Kann vielleicht hierzu jemand ein Beispiel nachliefern? Dankeschön!


Edit: Ich habe es jetzt selbst herausgefunden. Falls es jemanden interessiert: Ich habe einfach selbst eine kleine Hilfs-procedure geschrieben, die ich am Ende des Threads starte. Die Hilfsprozedur beendet dann den Thread und teilt dies dem Hauptprogramm mit.