Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - OnExit wird nicht ausgelöst


muschelschubser - Mi 27.07.05 09:59
Titel: OnExit wird nicht ausgelöst
Hallo Leute,

ich bin noch nicht so besonders firm in eventgesteuerter Programmierung. Ich habe ein EditControl, welches mit einem OnExit Ereignis versehen ist, ungefähr so:

Irgendwo oben:

Delphi-Quelltext
1:
2:
3:
4:
5:
type
   TFormXXX = class(TFormMDIChild_Basic)
...
        TimeAPS: TAdvMaskEdit;
...


Und dann später...

Delphi-Quelltext
1:
2:
3:
4:
procedure TFormXXX.TimeAPSExit(Sender: TObject);
begin
   TimeExit(TimeAPS, 'ARRIVAL_PILOTSTATION_DATE');
end;


Ja, kennt wahrscheinlich jeder. Nun taucht folgendes Problem auf:

Das OnExit Ereignis wird nicht ausgelöst! Weder durch TAB, noch durch ENTER, noch durch klicken mit der Maus auf ein anderes control.

Ich bin etwas baff, da diese Methode schon mal funktioniert hat (und ich mich natürlich nicht erinnern kann, was ich geändert habe (aka "Ich habe nichts gemacht")) und ich mir gerade auch überhaupt nicht vorstellen kann, warum das Ereignis nicht ausgelöst wird.

Wie ich überhaupt auf die Idee komme, das es nicht ausgelöst wird? Naja, ich habe da einen Breakpoint gesetzt, der aber nie aktiv wird und die angegebene Prozedur (TimeExit) wird auch nicht aufgerufen (da ist noch mal ein Breakpoint gesetzt).

Ideen zu meinem Problem?

Dank im vorraus,

schubser


Lannes - Mi 27.07.05 11:09

Hallo,

ist das Event TimeAPSExit der Komponente TimeAPS im OI eingetragen?


muschelschubser - Mi 27.07.05 12:48
Titel: Sorry, vergessen...
Hallo Lannes,

sorry hab ich vergessen zu erwähnen, natürlich ist sie im OI zugewiesen. Ich habe sogar schon einmal die Methode komplett gelöscht, kompiliert, neuangelegt, wieder kompiliert aber nichts zu machen, gleiches Verhalten.

Das interessante daran ist, es ging vor ein paar Tagen noch :evil:

Ich werde nun einmal die ganze Komponente löschen und dann weiterschauen.



schubser


muschelschubser - Mi 27.07.05 14:18
Titel: Vergesst es Leute...
Moin,

Wie gesagt, bin noch nicht besonders firm in Ereignisprogrammierung, aber der Fehler war nun eigentlich zu einfach:

Ich hab' in einer anderen Klasse den OnExitHandler überschrieben... :autsch: :autsch: :autsch:


Ich gehe jetzt 50x "Du sollst erst denken und dann programmieren" ans Whiteboard schreiben...


Danke an alle,

schubser