Einzelnen Beitrag anzeigen

Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Prüfen ob Thread noch läuft

  Alt 24. Jan 2007, 16:05
z.B. kann man das mit Klassenmethoden machen. Da kannst du jederzeit abfragen, ob noch ein Thread läuft, auch wenn das Objekt selber nicht mehr existiert:
Delphi-Quellcode:
type
  tmythread = class(TThread)
  private
    { Private-Deklarationen }
  protected
    procedure Execute; override;
  public
    class function isrunning:boolean;
  end;

implementation

var running:integer=0;
{}

procedure tmythread.Execute;
begin
  inc(running);
  { Thread-Code hier einfügen }
  dec(running);
end;

class function tmythread.isrunning:boolean;
begin
  result:=running>0;
end;
inc und dec kann man auch in den constructor/destructor schreiben.


Dein Fehler kennn ich nicht. Aber ich würde vermuten, dass der Thread noch nicht beendet ist, wenn du den Hauptthread schließt. Fragst du in execute regelmäßig die Variable terminated ab?
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat