Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Steuerelement in Ereignisbehandlungsroutine freigeben (https://www.delphipraxis.net/18384-steuerelement-ereignisbehandlungsroutine-freigeben.html)

OregonGhost 17. Mär 2004 19:25


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.

SirThornberry 17. Mär 2004 21:07

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 09:18 Uhr.

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