Einzelnen Beitrag anzeigen

Megamorph

Registriert seit: 28. Dez 2005
25 Beiträge
 
#1

Problem mit Thread in der Klasse

  Alt 26. Dez 2008, 21:54
Ich habe leider bei der Verwendung eines Threads in meiner Klasse ein Absturtzproblem, der Compiler meldet weder Warnings noch Fehler. Hier ein Codestück:

Delphi-Quellcode:
type
  TXxxxxxx = class
    private
//...
      bActive_ : Boolean;
    public
//...
      constructor Create;
      procedure WorkThread();
      property bActive : Boolean read bActive_ write bActive_ ;
  end;

implementation

constructor TXxxxxxx.Create;
var
  ThreadID : Cardinal;
begin
//...
  CreateThread(nil, 0, @TXxxxxxx.WorkThread, nil, 0, ThreadID);
end;

procedure TXxxxxxx.WorkThread;
begin
  while true do
  begin
    MessageBox(0,'1','',MB_OK);
    if bActive_ then begin end;
    MessageBox(0,'2','',MB_OK);
  end;
end;

end.
Die erste MessageBox erscheint, dann crasht das Programm. Ich gehe davon aus, dass es ein Problem ist, vom Thread aus auf class member zuzugreifen, was ich jedoch nicht ganz verstehe, da der Thread selbst eine Methode dieser Klasse ist. Ich arbeite mit Delphi7. Wenn mir hier jemand weiter helfen könnte, wäre ich euch sehr verbunden, Danke! (-;
MfG Mega
  Mit Zitat antworten Zitat