![]() |
Steuerelement in Ereignisbehandlungsroutine freigeben
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. |
Re: Steuerelement in Ereignisbehandlungsroutine freigeben
ich würde das Steuerelement erst zerstören wenn ein neues angelegt werden soll oder beim schließen der Anwendung, erspaart ne menge arbeit. Warum verwendest du eigentlich nicht einfach das steuerelement nochmal, anstelle das alte zu zerstören und ein neues zu erzeugen?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:00 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