Einzelnen Beitrag anzeigen

jaikai

Registriert seit: 1. Jun 2005
70 Beiträge
 
#1

Multithreading und TForm.Create(self) - geht das?

  Alt 28. Dez 2006, 11:24
Moin

Ich finde keine Informationen darüber ob und falls ja, wie ich in einem Thread eine Form self-createn kann. Geht das überhaupt?


Delphi-Quellcode:
procedure TKeyinside.Execute;
begin
  if DarfLaufen <> 'Neinthen begin
     if not Assigned(Form_Check) then begin
        Form_Check := TForm_Check.Create(self);
        Form_Check.INI_Auslesen;
        if Form_Check.Checkit = falsethen
           Form_Check.ShowModal;
        Form_Check.Destroy;
        Form_Check := nil;
        DarfLaufen := '';
        end;
     end;
end;


procedure TMainForm.Timer3Timer(Sender: TObject);
begin
   // Der Timer sollte ursprünglich nur zum lostreten eines Threads dienen
   // Testweise so eingebunden

   Keyinside := TKeyinside.Create(true); // Thread inaktiv erzeugen
   Keyinside.FreeOnTerminate := true; // Thread nach dem Beenden freigeben
   Keyinside.Resume;           // Thread aktivieren

end;
Der Debugger meckert -> Die 'Execute' meckert jetzt, daß die Komponenten inkompatible sind.

Kann man in Threads Form.create(self) anwenden? - Wenn ja - wie gehts richtig?

Danke
Wenn die Programme das machen, wie's wir machen, wären sie unbrauchbar...
  Mit Zitat antworten Zitat