Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Kann ApplicationEvents zaubern? (https://www.delphipraxis.net/107012-kann-applicationevents-zaubern.html)

taaktaak 20. Jan 2008 20:20


Kann ApplicationEvents zaubern?
 
Moin, Moin,
aufgrund einer vorübergehenden geistigen Blindheit, hat mich die Suche nach der (nicht existierenden) Windowsbotschaft WM_Maximize mal einen Blick in den Source der Komponente TApplicationEvents werfen lassen.

Was mich nun total irritiert: Ich habe weder im Source von AppEvnts noch in den eingebundenen Units irgendwelche Hinweise gefunden, dass hier Windows-Botschaften "abgefangen und verwendet" werden. Die Komponente stellt ja z.B. das Event OnMinimize zur Verfügung, ich kann aber nirgends einen Codeabschnitt finden, in dem die Windows-Botschaft WM_Syscommand und das Kommando SC_Minimze verwendet werden.

Kann mir einer erklären, wie TApplicationEvents diese "Zauberei" bewerkstelligt?

Gruß
Ralph

PS : Die ursprüngliche Aufgabenstellung, ein OnMaximize-Event zu "basteln" ist natürlich erledigt und nicht Gegenstand meiner Frage!

SirThornberry 20. Jan 2008 20:28

Re: Kann ApplicationEvents zaubern?
 
Ich guck mal nach und wenn ich es gefunden habe schuldest du mir eine Flasche Baileys :wink: Zaubern kann diese Komponente definitiv nicht.

Die Auflösung:
1.) OnMinimize von TApplicationEvents ist geerbt von TCustomApplicationEvents
2.) OnMinimize wird von TCustomApplicationEvents.DoMinimize aufgerufen.
3.) TCustomApplicationEvents.DoMinimize wird von TMultiCaster.DoMinimize aufgerufen
4.) TMultiCaster.DoMinimize wird von Application.OnMinimize aufgerufen (im Constructor von TMultiCaster wird Application.OnMinimize diese Methode zugeordnet
5.) Application.OnMinimize wird von TApplication.Minimize aufgerufen

soll ichs weiter auflösen? Dann erwarte ich ne weitere Flasche.

inherited 20. Jan 2008 20:35

Re: Kann ApplicationEvents zaubern?
 
Wohl kaum, der Vertrag kommt erst zustande wenn taaktaak ein eindeutiges "Ja" sagt, vorher kannst du ihn zu nichts verplichten *klugscheiss*

Ich glaube kaum dass TAppEvents da zaubert, vielleicht erbt es da irgendwas (hab keine Delphi-Sourcen da)

taaktaak 20. Jan 2008 20:36

Re: Kann ApplicationEvents zaubern?
 
Danke Jens!
Die Frage ist natürlich auch nicht ganz erst gemeint, zeugt aber von meiner totalen Überraschung!!!
Ralph

// edit: Na, mit der Flasche schauen wir mal! Hoffentlich sind die Portokosten dann nicht höher als der Inhalt. Wo in aller Welt liegt Bockwen?

SirThornberry 20. Jan 2008 20:40

Re: Kann ApplicationEvents zaubern?
 
hab meinen obigen Beitrag um die Lösung ergänzt. Bockwen liegt in Sachsen (bei Dresden). Naja, und da das Ja als Zusagen fehlte werde ich wohl nicht zu der Flasche Baileys kommen :wink:

sirius 20. Jan 2008 20:41

Re: Kann ApplicationEvents zaubern?
 
Ja, aber das macht doch alles TMulticaster. Wenn du schon in dem source bist, hättest du dir die zweite Klasse in der Unit auch mal anschauen können. :zwinker:

taaktaak 20. Jan 2008 21:03

Re: Kann ApplicationEvents zaubern?
 
Also erst einmal vielen Dank für die Antworten!
Ich schau mir das morgen mal in Ruhe an!
Ralph

inherited 20. Jan 2008 22:05

Re: Kann ApplicationEvents zaubern?
 
Dann will ich aber auch eine, immerhin hatte ich die Idee mit dem ererben zuerst, ja sogar mein Name war Hinweis auf die Lösung :mrgreen: :cheers:

taaktaak 22. Jan 2008 08:53

Re: Kann ApplicationEvents zaubern?
 
Moin, Moin!

Habe mir jetzt die "Hüpferei" bis zum Ende angesehen - die von mir vermisste "Verbindung" zu den Windowsbotschaften konnte nun in TCustomForm gefunden werden. Damit ist nun zwar deutlich geworden, dass TApplicationEvents nicht zaubert - aber mir ist absolut unverständlich, warum es diese Komponente überhaupt gibt!!! :spin:

Alle Events die hier bereitgestellt werden, sind auch mit Application.OnXXXX erreichbar (sogar 2 Events mehr) - und das mit weniger "Hüpferei" durch den Speicher. Warum in aller Welt wird diese Komponente zur Verfügung gestellt? Habe ich da etwas wesentliches übersehen? :stupid:

Gruß Ralph

PS : Es hat sich ja mittlerweile eine "trinkfreudige Helferschar" versammelt. Ich mache folgenden Vorschlag: Wer von den Verdurstenden in diesem Jahr nach Hamburg kommt, der möge sich vorher bei mir melden - wir gehen dann mal zusammen einen bechern (erstes Getränk auf meine Rechnung)
:cheers:

xaromz 22. Jan 2008 09:11

Re: Kann ApplicationEvents zaubern?
 
Hallo,
Zitat:

Zitat von taaktaak
...aber mir ist absolut unverständlich, warum es diese Komponente überhaupt gibt!!! :spin:

klar gibt es die Events auch über Application. Aber mit ApplicationEvents kannst Du im Designer darauf zugreifen. Ansonsten müsstest Du die Ereignisbehhandlungsmethoden manuell im Code zuweisen.

Gruß
xaromz


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:40 Uhr.
Seite 1 von 2  1 2      

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