Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Lustiges Problem (https://www.delphipraxis.net/183953-lustiges-problem.html)

echitna 16. Feb 2015 09:05


Lustiges Problem
 
Hallo,

habe ein lustiges Problem und mir gehen allmählich die Ideen aus..

also, ich versuche über Application.CreateForm ein Formular zu erzeugen und mit ShowModal anzuzeigen. Sollte eigentlich ganz einfache sein, aber wenn ich versuche das Fenster aufzurufen, kommt die Meldung "Sichtbares Fenster kann nicht in ein modales Fenster umgewandelt werden".
In den Projektoptionen wird das Formular nicht automatisch erzeugt, und auch sonst im Source nicht. Hab schon versucht vorher mit Assigned zu prüfen ob das Formular zugewiesen ist und entsprechend freigegeben, nützt aber alles nix.

Vielleicht hat ja jemand schon mal sowas gehabt und weiß eine Lösung.

/Update

hab jetzt einfach ein neues Formular erstellt und damit gehts auch wieder.

Der schöne Günther 16. Feb 2015 09:07

AW: Lustiges Problem
 
Warum über
Delphi-Quellcode:
Application.Createform(..)
und nicht normal wie bspw.
Delphi-Quellcode:
var
   meinPopup:   TForm;
begin
   meinPopup := TMeinFormular.Create(nil);
   try
      meinPopup.ShowModal();
   finally
      meinPopup.Destroy();
   end;
end;

Daniel 16. Feb 2015 09:10

AW: Lustiges Problem
 
Moin echitna,

als ich den Titel Deines Beitrages las, dachte ich, Du hättest vielleicht ein Pickel auf der Nase oder etwas ähnlich lustiges.
Sei bitte so gut und gib Deinem Beitrag einen aussagekräftigen Titel, damit er später über die Suchfunktion besser (überhaupt) zu finden ist.


Danke und Grüße.

himitsu 16. Feb 2015 09:40

AW: Lustiges Problem
 
Man ruft Destroy nicht direkt auf. :zwinker:

Application.CreateForm wird standardmäßig nur für die "automatisch" erstellten Forms verwendet und nicht manuell aufgerufen.
Dynamisch erstellte Forms erstellt man also genauso, wie jede andere Komponente, die man per Code ertellt. -> Delphi-Referenz durchsuchenTObject.Create

Wieso lustig? Das ist nunmal so ... etwas ist sichtbar und kann demnach nicht noch sichtbarer werden. :roll:
Und dann, weißt du doch wo das Problem ist, also beheb es doch einfach?
Setze Visible auf False (im OI) und fertig. :stupid:

In alten Delphi-Versionen war man noch auf die schlaue Idee gekommen und hatte bei den Forms das Visible per Default auf True stehen. :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:44 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz