Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Unterschied zwischen onshow und oncreate (https://www.delphipraxis.net/29137-unterschied-zwischen-onshow-und-oncreate.html)

günni0 12. Apr 2018 17:43

AW: Unterschied zwischen onshow und oncreate
 
Zitat:

Ich suche was quasi etwas was eine "Main" Funktion aufruft in der dann das Programm die ganze Zeit läuft.
Kommst du aus der Java- oder C-Welt?
So ist das bei Delphi nicht.

Es läuft standardmäßig eh immer alles im Main-Thread. Was will man mehr?

Solutor 13. Apr 2018 18:29

AW: Unterschied zwischen onshow und oncreate
 
Ein Bespiel:
Du hast eine Anwendung mit mehreren Fenstern.
Es werden erst alle Fenster Createt und erst danach wird das Hauptfenster angezeigt.
Wenn ich im OnCreate auf eine Eigenschaft oder Methode eines anderen Fensters zugreifen möchte,
kann das in die Hose gehen, wenn das andere Fenster noch nicht createt wurde.
Wenn ich das im ONShow mache, kann ich sicher sein, das alle OnCreate's abgearbeitet sind und alle Fenster verfügbar sind.

Praktisches Beispiel (Aber nicht sauber):

Man hate ein Formular in dem man Einstellungen macht.
Nehmen wir mal an man macht eine Checkbox da rein, die einen Button im Hauptformular sichtbar oder unsichtbar machen soll.

In der Hauptform würde man nun in onCreate versuchen auf die Checkbox des anderen Forumulars zuzugreifen um die Sichtbarkeit des Buttons zu setzen.
Das würde schief gehen, da zu diesem Zeitpunkt das zweite Formular noch nicht existiert.
Also macht man das in OnShow. (Nur zur Veranschauung.)

himitsu 13. Apr 2018 19:46

AW: Unterschied zwischen onshow und oncreate
 
Zitat:

Zitat von Solutor (Beitrag 1399154)
Es werden erst alle Fenster Createt und erst danach wird das Hauptfenster angezeigt.

Fast. Das Hauptfenster wird zum Schluß angezeigt, wenn es noch nicht sichtbar ist.
Und alle automatisch erzeugten Fenster werden vorher erzeugt, aber wenn dort Visible=True in der DFM steht, dann sind die Fenster sofort sichtbar, mitten im Create.
Bei alten Delphis war das scheinbar noch per Default auf True.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:16 Uhr.
Seite 2 von 2     12   

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