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 Ereigniss-Aufrufe (OnChange etc.) eines Forms protokollieren (https://www.delphipraxis.net/112128-ereigniss-aufrufe-onchange-etc-eines-forms-protokollieren.html)

delphitrixer 15. Apr 2008 14:39


Ereigniss-Aufrufe (OnChange etc.) eines Forms protokollieren
 
Hallo Zusammen

Ich möchte gerne auf meinem Form eine ListBox haben, die alle Events (OnChange, OnEnter, OnKeyPress etc.) aller
darauf befindlichen Komponenten chronologisch auflistet. Oft habe ich das Problem, dass bei vielen OnChange-Prozeduren
und Abhängigkeiten der einzelnen Komponenten die auf dem Form sind, nicht ganz überschaubar ist, welches Event
Delphi nun in welcher Reihenfolge abarbeitet.

Es wäre also praktisch, wenn man die Reihenfolge der aufgerufenen Ereignisse in der Liste angezeigt bekommt. Also so
eine Art Event-Viewer für das eigene Projekt.

Hat jemand einen praktischen und einfachen Vorschlag?

Danke

MrKnogge 15. Apr 2008 14:49

Re: Ereigniss-Aufrufe (OnChange etc.) eines Forms protokolli
 
Du fügst in jedem Event deiner Listbox einen Eintrag hinzu !?

delphitrixer 15. Apr 2008 15:00

Re: Ereigniss-Aufrufe (OnChange etc.) eines Forms protokolli
 
Danke MrKnogge, aaaaaaber...

Ich möchte natürlich nicht in jedem Event eingreifen müssen, sondern dies irgendwie "zentral"
lösen. Es muss doch sicherlich möglich sein, irgendwie alle Ereignisse die ausgelöst und auf-
gerufen werden, an einem Punkt abzuhandeln und zu protokollieren.

MrKnogge 15. Apr 2008 15:08

Re: Ereigniss-Aufrufe (OnChange etc.) eines Forms protokolli
 
Wenn einem Event aber keine Methode zugewiesen wurde, wird dieser auch nicht ausgelöst.

SirThornberry 15. Apr 2008 15:10

Re: Ereigniss-Aufrufe (OnChange etc.) eines Forms protokolli
 
ist es nicht. Denn dafür bräuchtest du ja für jedes Ereignis eine entsprechende Methode die genau dem Ereignis entspricht.
Denn schließlich ist das auftreten eines Ereignisses nichts anderes als ein Funktionsaufruf aus der Komponente heraus. Wenn es keine Funktion gibt die aufgerufen werden kann wird auch nix aufgerufen.

In der Komponente steht sinngemäß drin:
- Wenn eine Ereignis-methode zugeweisen wurde dann rufe diese mit parameter X und Y auf.

Und ist dort nix zugeweisen passiert diesbezüglich gar nix.

delphitrixer 15. Apr 2008 15:21

Re: Ereigniss-Aufrufe (OnChange etc.) eines Forms protokolli
 
natürlich möchte ich auch nur die ereigniss protokollieren, denen ich auch selber methoden
zugeordnet habe. trotzdem möchte ich aber nicht jeder methode hinterlegen müssen, dass diese
nun noch einen eintrag in einer liste machen soll mit dem hinweis, dass sie nun aufgerufen
wurde.

stellt auch vor, ihr habt ein form mit 200 bestehenden methoden und möchtet nun nachträglich
nur mal so aus sicht einer fehlersuche mal eben wissen in welcher reihenfolge nun welche
methode aufgerufen wird. ist natürlich nicht gerade "hübsch" nun allen methoden mal schnell
eine zeile code hinzuzufügen. besonders dann nicht, wenn es hinterher wieder raus soll.

löst den der auf aufruf einer methode, die einem ereigniss zugeordnet ist, nichts anderes eine
art message aus, die wiederum irgendwo abgefangen und protokolliert werden kann?

MrKnogge 15. Apr 2008 15:23

Re: Ereigniss-Aufrufe (OnChange etc.) eines Forms protokolli
 
Eine Alternative wäre es, Haltepunkte zu setzen.

delphitrixer 15. Apr 2008 16:18

Re: Ereigniss-Aufrufe (OnChange etc.) eines Forms protokolli
 
die unit hat knapp 23'000 zeilen. das mit den 200 methoden war nur ein beispiel. es sind
in diesem fall knapp 850 methoden enthalten. das wären durchaus viele haltepunkte die zu
setzen wären.

Apollonius 15. Apr 2008 16:22

Re: Ereigniss-Aufrufe (OnChange etc.) eines Forms protokolli
 
Es gäbe eine sehr eklige Variante, die ein Hooken von TObject.MethodAddress involvieren würde, sodass in Wirklichkeit die Benachrichtigungs-Routine vor der eigentlichen Methode aufgerufen würde. Das könnte sich aber kompliziert gestalten.

hoika 15. Apr 2008 16:50

Re: Ereigniss-Aufrufe (OnChange etc.) eines Forms protokolli
 
Hallo,

RTTI benutzen und schon mal 4 Wochen zum einarbeiten einplanen...


Heiko


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

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