Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Event wird ausgelöst, weiss aber nicht wo (https://www.delphipraxis.net/73248-event-wird-ausgeloest-weiss-aber-nicht-wo.html)

Jerry 14. Jul 2006 12:54


Event wird ausgelöst, weiss aber nicht wo
 
Hallo Allerseits

Ich habe folgendes Problem:


Ich habe ein Objekt TTabsheet auf diesem Objekt ist beim OnExit ein gewisser Code programmiert.

Wie gesagt der Code ist beim OnExit.

Jetzt habe ich das Problem, dass dieser Code willkürlich ausgelöst wird, ohne mein "Verlangen". Also der Code wird bei einem anderen Objekt ausgelöst, ohne mein Wissen. Leider finde ich den Ort nicht wo das Event ausgelöst wird.

Wie kann man in Delphi herausfinden, welches Ereignis für den Aufruf einer Procedur verantwortlich ist?

Gibt es da Möglichkeiten? Vielleicht sowas wie ein Event-Monitor?

Ich habe schon mit dem Debugger gearbeitet, doch da finde ich den Auslöser nicht....


Danke für Eure Hilfe!

Liebe Grüsse Jerry

mkinzler 14. Jul 2006 12:56

Re: Event wird ausgelöst, weiss aber nicht wo
 
Der Parameter Sender der Event-Prozedur referenziert das aufrufende Objekt.

Jerry 14. Jul 2006 12:59

Re: Event wird ausgelöst, weiss aber nicht wo
 
Hallo mkinzler

Danke für Deinen Tipp, wie kann ich "sender" abragen, beim Debuggin zeigt er nichts an...

ManuMF 14. Jul 2006 13:02

Re: Event wird ausgelöst, weiss aber nicht wo
 
Hallo,

was heißt "nichts"?
- Kein QuickInfo
- Leeres QuickInfo
- "Sender = ()"
- "Sender = nil"

Gruß,
ManuMF

Jerry 14. Jul 2006 13:11

Re: Event wird ausgelöst, weiss aber nicht wo
 
nein wirklich nichts auch beim Objekt überwachen zeigt er nichts an... sorry...

http://www.meier-altnau.ch/delphi/beispiel.jpg

Danke für Deinen Input!

ManuMF 14. Jul 2006 13:14

Re: Event wird ausgelöst, weiss aber nicht wo
 
Hallo,

probier doch mal hinter das inherited was mit Sender reinzuschreiben (z.B. "If (Sender <> nil) then XYZ := true;") und dort den Inhalt von Sender zu prüfen.

Gruß,
ManuMF

Muetze1 14. Jul 2006 13:15

Re: Event wird ausgelöst, weiss aber nicht wo
 
1. Projekt->Optionen->Compilereinstellungen->Mit Debug-DCUs compilieren
2. Projekt komplett neu erzeugen
3. Brechpunkt in das OnExit

und wenn er angehalten hat, einfach den CallStack anschauen wo er herkam.

dataspider 14. Jul 2006 13:20

Re: Event wird ausgelöst, weiss aber nicht wo
 
Hi,

also, onExit ist in Controls definiert und wird ab TWinControl eingeführt.
Aufgerufen wird es von der Virtuellen Methode doExit, welche in der Message
procedure CMExit(var Message: TCMExit); message CM_EXIT;
aufgerufen wird.

Das Ereignis wird immer aufgerufen, wenn das Control den Focus verliert.
Vielleicht solltest du erläutern, wann du denn das Ereignis benötigst. Vielleicht gibt es ja einen anderen Weg.

Cu, Frank

[EDIT]
z.B. onChange und OnChanging der Page...

Jerry 14. Jul 2006 13:36

Re: Event wird ausgelöst, weiss aber nicht wo
 
Vielen Dank für Die Hilfe

es ist so wie dataspider schreibt...

http://www.meier-altnau.ch/delphi/beispiel2.jpg

Wieso, dass aber diese Procedur aufgerufen wird, weiss ich immer noch nicht. Es passiert ja gar kein Exit des Tabsheets...


Ich denke ich muss das entsprechende Ereignis wirklich irgend wo anderst einbauen.

Muetze1 14. Jul 2006 13:41

Re: Event wird ausgelöst, weiss aber nicht wo
 
... aber vllt. ein OnExit eines Elementes auf dem Tabsheet?


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