Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Thread immer zu Ende laufen lassen (https://www.delphipraxis.net/54231-thread-immer-zu-ende-laufen-lassen.html)

smudo 30. Sep 2005 09:24


Thread immer zu Ende laufen lassen
 
Hallo :hi: ,

kann ich denn einen Thread dazu bringen, dass er immer bis zu Ende läuft?
D.h. wenn ich das Programm beende, der Thread aber noch beschäftigt ist, soll das Programm warten.

René

ste_ett 30. Sep 2005 09:37

Re: Thread immer zu Ende laufen lassen
 
Delphi-Quellcode:
ThreadName.WaitFor;
// Thread ist durch gelaufen
// Nächster Teil ...

smudo 30. Sep 2005 10:06

Re: Thread immer zu Ende laufen lassen
 
Hatte ich schon mal probiert, das führte aber leider zu einem Thread-Zugriffsfehler.
Vielleicht hatte ichs an der falschen Stelle?

Unplugged 30. Sep 2005 10:07

Re: Thread immer zu Ende laufen lassen
 
ins OnCloseQuery müsste der Code

smudo 30. Sep 2005 10:17

Re: Thread immer zu Ende laufen lassen
 
Achso, ja klar.
Ich möchte aber im Programm selber nichts ändern (auch nicht auf das OnClose-Ereignis reagieren)
sondern der Thread sollte selber festlegen, dass er bis zum Ende durchläuft.
D.h. ich hatte das WaitFor in der Thread-Methode, welche den Thread beendet -> und da gabs den Fehler.

ste_ett 30. Sep 2005 10:30

Re: Thread immer zu Ende laufen lassen
 
Zitat:

Zitat von smudo
D.h. ich hatte das WaitFor in der Thread-Methode, welche den Thread beendet -> und da gabs den Fehler.

Du hast das WaitFor im Execute drin?
Das kann nicht gehen, da das WaitFor ja auf das Ende von Execute wartet. :)

Unplugged 30. Sep 2005 10:33

Re: Thread immer zu Ende laufen lassen
 
@smudo

du musst das Hostprogramm umschreiben, weil die Threads in dem Sinne nur Kinder des Hosts sind.
Ich sehe aber auch kein Problem, die kleiner Veränderung im Programm vorzunehmen?

smudo 30. Sep 2005 10:43

Re: Thread immer zu Ende laufen lassen
 
Zitat:

Zitat von ste_ett
Du hast das WaitFor im Execute drin?

Ich hatte. War nur mal ein Experiment :zwinker:

Zitat:

Zitat von unplugged
du musst das Hostprogramm umschreiben, weil die Threads in dem Sinne nur Kinder des Hosts sind.

Also heißt das, es geht nicht!?
Wie gesagt, am Programm möchte ich diese Änderung nur ungern vornehmen, weil es um das Loggen und nicht wirklich um eine Programmfuntion geht.

Unplugged 30. Sep 2005 10:49

Re: Thread immer zu Ende laufen lassen
 
Zitat:

Zitat von smudo
Also heißt das, es geht nicht!?
Wie gesagt, am Programm möchte ich diese Änderung nur ungern vornehmen, weil es um das Loggen und nicht wirklich um eine Programmfuntion geht.

laut meiner Auffassung geht es nicht. Weil das Hauptprogramm die Ablaufsteuerung der Threads besitzt und somit du auch im Hauptprogramm dafür sorgen musst, dass der Thread bis zum Schluss läuft.

smudo 30. Sep 2005 10:52

Re: Thread immer zu Ende laufen lassen
 
Ok. Danke an alle.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:34 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz