Steuerelement in Ereignisbehandlungsroutine freigeben
17. Mär 2004, 20:25
In meinem Programm soll man beliebige Daten mithilfe verschiedener Steuerelemente editieren können. Wenn der Benutzer auf ein Datum klickt, erzeugt das Programm also ein Steuerelement, zum Beispiel ein TEdit. Im OnKeyDown des TEdit wird überprüft, ob Escape gedrückt wurde, und wenn ja, soll das Steuerelement freigegeben (Editiermodus verlassen) werden. Dabei treten jedoch Zugriffsverletzungen auf, offenbar kann man eine Objektinstanz nicht innerhalb einer ihrer Methoden freigeben. Ist ja auch irgendwie logisch. Nur, irgendwer muss das Ding freigeben. Ich habe zwar einen Workaround gemacht, indem ich das Steuerelement verstecke und bei es bei der Neuerstellung eines Steuerelements freigebe, aber das ist nicht unbedingt günstig. Wie kann ich das also machen?
Ich habe schon an KeyPreview gedacht, um den Test (und gegebenenfalls die Freigabe) im OnKeyDown des Elternformulars durchzuführen. Dabei tritt derselbe Fehler auf.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
|