![]() |
Aus TThread ein Form zur Laufzeit erstellen
Hallo,
ich habe es wieder einmal mit den Threads: Ich möchte aus einem Thread eine Form zur Laufzeit erstellen, aber irgendwo ist der Wurm drinnen... :cry: In Hauptformular erzeuge ich den Thread:
Delphi-Quellcode:
in der ThreadUnit möchte ich das Form erzeugen:
PROCEDURE TfMain.Button1Click(Sender: TObject);
BEGIN Thread1 := TBaseThread.Create('Form 1'); Thread1.MainFormClass := Self; Thread1.FormCaption := 'Form 1'; Thread1.FreeOnTerminate := True; Thread1.OnTerminate := ThreadEnde; Thread1.Resume; END;
Delphi-Quellcode:
Nach dem Create gibt es einen EInvalid Operation... Leinwand/Bild erlaubt kein Zeichen... Fehler
USES
Forms, // Application uThreadWindow, // TfThreadWindow Classes; ... PROCEDURE TBaseThread.Execute; VAR fThreadWindow : TfThreadWindow; BEGIN fThreadWindow := TfThreadWindow.Create(FMainFormClass); // <-- Crash TRY // TfThreadWindow.Create(Application) ist der gleiche Fehler fThreadWindow.Caption := FaFormTitle; fThreadWindow.ShowModal; FINALLY fThreadWindow.Free; fThreadWindow := NIL; END; END; Was mache ich da Falsch? |
Re: Aus TThread ein Form zur Laufzeit erstellen
Hallo Leute,
ich glaube, für mein Problem gibt es keine Lösung: Zitat:
![]() Ich habe noch die wildesten Vorschläge dazu gefunden (z.B. eine neue TApplication Instanz im Thread zu erzeugen,...) aber es funkte (natürlich) keiner. |
Re: Aus TThread ein Form zur Laufzeit erstellen
Die einzige Möglichkeit die du hast ist auf nonVCL zurückzugreifen und dir dein Fenster so zu erzeugen...
|
Re: Aus TThread ein Form zur Laufzeit erstellen
Hallo Motzi,
Du hast recht, das habe ich Vergessen zu erwähnen :oops: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz