Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Wann wurden alle Komponenten einer Anwendung erstellt? (https://www.delphipraxis.net/105170-wann-wurden-alle-komponenten-einer-anwendung-erstellt.html)

peanut 17. Dez 2007 14:16


Wann wurden alle Komponenten einer Anwendung erstellt?
 
Hallo,

ich habe eine Komponente geschrieben, die die Eigenschaften aller auf den Formularen etc. sichtbaren Komponenten ändern soll. Gibt es eine Möglichkeit herauszufinden, wann alle anderen Komponenten erzeugt und initialisiert wurden? Bis jetzt warte ich den

Application.Initialize;
Application.CreateForm(TForm1, Form1);
...

Block ab und rufe dann eine Prozedur auf, die "über" alle Komponenten der Application geht. Das scheint mir aber etwas umständlich. Geht das schöner?

Viele Grüße,

peanut.

stahli 17. Dez 2007 14:27

Re: Wann wurden alle Komponenten einer Anwendung erstellt?
 
Davon würde ich nicht ausgehen.
Es müsste ja dann in der Application ein Ereignis geben
-> OnCreateComponent(NewComponent)
egal, woher auch immer dies veranlasst wurde...

Für eigene Komponenten kann man natürlich im Konstruktor eine entsprechende Registrierung/Benachrichtigung regeln, wohl aber nicht ALLE Komponenten.

stahli

Christian Seehase 17. Dez 2007 15:43

Re: Wann wurden alle Komponenten einer Anwendung erstellt?
 
Moin Peanut,

Du könntest Deine zentrale Änderung natürlich nach allen Application.CreateForm-Zeilen machen, aber was machst Du bei dynamisch erzeugten Formularen?
Ich würde diese Änderungen im OnCreate des jeweiligen Formulares durchführen.

peanut 18. Dez 2007 09:27

Re: Wann wurden alle Komponenten einer Anwendung erstellt?
 
Danke für die Hinweise!

peschai 19. Dez 2007 07:24

Re: Wann wurden alle Komponenten einer Anwendung erstellt?
 
Zusatz Idee:

Im Ereignis OnActivate der Form. Über eine Statusvariable solltest du aber eventuell sicherstellen, daß deine Initialiserung nur einmal durchläuft und nciht jedesmal wenn deine Applikation "aktiviert" wird.


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