Nutze bitte nicht Resume()
um den im 'suspended' erstellten Thread zu starten. Nimm Start()
.
Gibt es, wie schon erwähnt, in Delphi 7 noch nicht.
Bitte packe den Code in (Delphi)(/Delphi)-Tags statt (Code)(/Code)
Ich werds mir merken, erschien mir in der Auswahl am passenden.
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.
Ja, dies ist tatsächlich nur dazu gewesen, dass ich sehe, was wirklich passiert und was nicht.
Die jetzt erwähnten Lösungsvorschläge führen aber auch alle nicht zum gewünschten Ergebnis. Es kommt nicht dazu, dass der Thread gestartet wird. Die gesammte TCheckThread.execute wird vom Compiler weg optimiert.