Einzelnen Beitrag anzeigen

PattyPur

Registriert seit: 27. Aug 2002
7 Beiträge
 
#1

Wie beende ich mein Programm/Thread richtig ?

  Alt 12. Sep 2002, 05:47
Ich hab da mal was ausprobiert :

Code:
program threadApp;

uses
  classes;

type
  TCheckThread = class(TThread)
  protected
    procedure Execute; override;
  end;

{$R *.res} 

var
  CheckThread : Tcheckthread;
 
Procedure TCheckThread.execute;
var
    found:boolean;
    i:integer;
begin
  while not terminated do begin
    //.... hier passiert halt was ! 
  end;
end;

begin
  Checkthread:=Tcheckthread.Create(false);
  Checkthread.Execute;
end.

Das programm läuft wenn es gestartet wurde einfach weiter und weiter und weiter... - Soll es auch nur wenn windows runtergefahren wird kann dieses Programm nicht von Windows beendet werden und ich kann nur mit Task->beenden mein programm schliessen.

Wie reagiere ich da richtig auf Die anweisung von Windows ?
also ich weiss das ich irgendwie eine art onClose - Event benötige in dem ich auch sage
Code:
 
Checkthread.terminate;
zuerst hatte ich mein Programm in verbindung mit einer TForm (standard Anwendung halt) und hab das onClose event der Form benutzt um meinen thread zu terminieren - nur da ich die Form für sonst nix brauche will ich auch ohne sie auskommen.
  Mit Zitat antworten Zitat