Thema: Delphi Thread stoppt nicht?

Einzelnen Beitrag anzeigen

Zerolith

Registriert seit: 12. Mär 2003
Ort: Kempten
188 Beiträge
 
Delphi 6 Enterprise
 
#1

Thread stoppt nicht?

  Alt 24. Feb 2005, 17:37
Tag!

ich hab mir heut ein kleines Threadobjekt erstellt. Joa.. funktioniert soweit auch bloß bekomm ich kein OnTerminate Ereignis:
Delphi-Quellcode:
unit uSyncThread;

interface

uses
  Classes, ZMySQLProxyUnit, uConsole;

type
  TZSyncThread = class(TThread)
  private
    FResult : TZResult;
    procedure WriteDone();
    procedure WriteError;
  public
    SQL : TZMySQLProxy;
    Console : TZConsole;
    Constructor Create(ASQL : TZMySQLProxy; AConsole : TZConsole);
  protected
    procedure Execute; override;
  end;

implementation

{ ZSyncThread }

constructor TZSyncThread.Create(ASQL : TZMySQLProxy; AConsole : TZConsole);
begin
  Console := AConsole;
  SQL := ASQL;
  inherited Create(False);
end;

procedure TZSyncThread.Execute;
begin
  SQL.SQL := 'SELECT * FROM z_wct_configs';
  FResult := SQL.Execute;
  if FResult.ZMessageType = zError then
    Synchronize(WriteError)
  else
    Synchronize(WriteDone) // Normalerweiße wird hier "gestoppt" die WriteDone wird nicht aufgerufen
                            
end;

procedure TZSyncThread.WriteDone;
begin
  Console.WritelnEx('[ DONE ]');
end;

procedure TZSyncThread.WriteError;
begin
  Console.WritelnEx('[ ERROR ]');
  Console.WritelnEx(FResult.ZMessage);
end;

end.
Es gibts auch keine Fehler meldung - nur im Hauptprogramm - in einer Schleife wo geprüft wird ob der Thread fertig ist läuft alles weiter.

bitte um hilfe!!!
danke,
Daniel
Daniel
  Mit Zitat antworten Zitat