![]() |
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 |
Re: Event wird ausgelöst, weiss aber nicht wo
Der Parameter Sender der Event-Prozedur referenziert das aufrufende Objekt.
|
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... |
Re: Event wird ausgelöst, weiss aber nicht wo
Hallo,
was heißt "nichts"? - Kein QuickInfo - Leeres QuickInfo - "Sender = ()" - "Sender = nil" Gruß, ManuMF |
Re: Event wird ausgelöst, weiss aber nicht wo
nein wirklich nichts auch beim Objekt überwachen zeigt er nichts an... sorry...
![]() Danke für Deinen Input! |
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 |
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. |
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... |
Re: Event wird ausgelöst, weiss aber nicht wo
Vielen Dank für Die Hilfe
es ist so wie dataspider schreibt... ![]() 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. |
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 02:06 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