Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Delphi FMX - selbst öffnende Fenster? (https://www.delphipraxis.net/215539-fmx-selbst-oeffnende-fenster.html)

wurzelsepp1 24. Jul 2024 11:17

FMX - selbst öffnende Fenster?
 
Moin Gemeinde,

ich habe ein wenig mit FMX gespielt und einen Effekt beobachtet, den ich von VCL so nicht kannte:

Beim Start einer App wird neben dem Hauptfenster eion weiteres geöffnet, ohne das es mit der Methode "Show" darum gebeten worden wäre.

Nun gibt es im Hauptprogramm einige Zeilen, die Controls auf dieser ungewünscht öffnenden Form referenzieren:

Delphi-Quellcode:
AndereForm.Dropdown.Itemindex := 2


Dieser Aufruf ist zum Zeitpunkt des Programmstarts jedoch noch nicht erfolgt.

Könnte es daran liegen? Ist das Bug oder Feature? Wie geht das weg? ;)

Danke für Tipps! :)

Sherlock 24. Jul 2024 11:51

AW: FMX - selbst öffnende Fenster?
 
Hast du dieses Fenster geschrieben, oder kommt das aus dem nichts? Anders: Hast Du mehr als einen TForm Abkömmling in deinem Projekt? Frage nur um zu wissen, wo anzusetzen ist.

wurzelsepp1 24. Jul 2024 11:58

AW: FMX - selbst öffnende Fenster?
 
Zitat:

Zitat von Sherlock (Beitrag 1539157)
Hast du dieses Fenster geschrieben, oder kommt das aus dem nichts? Anders: Hast Du mehr als einen TForm Abkömmling in deinem Projekt? Frage nur um zu wissen, wo anzusetzen ist.

Ja, ich habe das Fenster erstellt. Es wird bei Programmstart erzeugt, wie es Standard in Delphi Apps ist. (TollesFenster.CreateForm, heißt das glaube ich).

Es gibt also ein Hauptfenster(MainForm) und dieses weitere, das eigentlich zu einem späeren Zeitpunkt mit "TollesFenster.ShowModal" angezeigt wird.

Sherlock 24. Jul 2024 12:39

AW: FMX - selbst öffnende Fenster?
 
Und wenn Du das FormCreate erst machst, wenn es gebraucht wird? Möglicherweise bringt hier FMX ein Problem zum Vorschein, daß Dir VCL bisher verborgen hatte. Formulare sollten in aller Regel erst dann erzeugt werden, wenn man sie auch braucht (anzeigen möchte).

wurzelsepp1 24. Jul 2024 15:00

AW: FMX - selbst öffnende Fenster?
 
Zitat:

Zitat von Sherlock (Beitrag 1539161)
Und wenn Du das FormCreate erst machst, wenn es gebraucht wird? Möglicherweise bringt hier FMX ein Problem zum Vorschein, daß Dir VCL bisher verborgen hatte. Formulare sollten in aller Regel erst dann erzeugt werden, wenn man sie auch braucht (anzeigen möchte).

Das könnte ich probieren. Das Fenster wird allerdings recht oft benötigt. Also immer dann, wenn der Benuter einen neuen Vorgang erfassen will. Bei normelem Gebrauch vielleicht 1-2 mal pro Sitzung.

Kann man das beliebig oft erzeugen und wieder löschen - z.B. vor dem "show" - ohne das "schreckliche Dinge" passieren? ;)

jaenicke 24. Jul 2024 15:15

AW: FMX - selbst öffnende Fenster?
 
Vermutlich steht bei dem Formular schlicht Visible auf True.

wurzelsepp1 24. Jul 2024 16:53

AW: FMX - selbst öffnende Fenster?
 
Zitat:

Zitat von jaenicke (Beitrag 1539172)
Vermutlich steht bei dem Formular schlicht Visible auf True.

Jaaaaa! :)

Das habe ich übersehen. Danke für den Hinweis!


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:48 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