Hallo und Herzlich Willkommen in den heiligen Hallen des Wissen und des Wahnsinns (oder so ähnlich).
Erst einmal Herzlichen Glückwunsch, direkt mit der TThread-Klasse zu arbeiten und nicht direkt die
WinAPI-Aufrufe zu verwenden. Ich benutze mittlerweile nur noch TThreads und finde das viel komfortabler.
Jedoch:
- Nutze bitte nicht Resume()
um den im 'suspended' erstellten Thread zu starten. Nimm Start()
.
- Bitte packe den Code in (Delphi)(/Delphi)-Tags statt (Code)(/Code)
- Greife um Himmels Willen nicht aus dem Thread auf dein Formular zu! (Beispiel: form1.Memo2.Lines.Add
. Eine Notlösung wäre die Synchronize
-Methode eines TThread-Objekts aber das finde ich ehrlich gesagt auch unsauber. Ein Thread sollte sich mit der grafischen Oberfläche nicht befassen.
Falls du eine Möglichkeit gesucht hast um überhaupt festzustellen, ob der Thread läuft, setze doch einfach einen Haltepunkt irgendwo in die Execute
-Methode.