Die sichtbaren Auswirkungen könnten "Zufall" sein!
Ich habe das Beispiel aus dem ersten Posting hier nachvollzogen. Das Edit wird bei mir mit einem Button-Click erzeugt.
Ich bekomme
immer eine
Exception, egal beim wievielten erzeugenten Edit ich Enter drücke. Das Edit bleibt bei mir nie sichtbar, das Programm schmiert immer ab.
Vermutung:
Die OnExit Methode funktioniert nur ohne Fehler, weil sie in der ganzen Kette der OnExit-Ereignisbehandlung als letztes abgearbeitet wird und nicht zum Edit zurückkehren muss. Ich habe das jetzt nicht step-for-step nachvollzogen, aber ganz viel anders kann es (zumindest sinngemäß) nicht sein.
Die OnKeyDown-Methode muss aber zum Edit zurückkehren, das es aber nach dem Free nicht mehr gibt --> Folge: Crash.
Eigentlich ist es aber auch wurscht, wieso und weshalb ...
Es ist und bleibt der alte Grundsatz: Objekte nie in einer eigenen Ereignisbehandlungsmethode freigeben!
Grundsatz beachten und glücklich sein.
((Irgendwo steht hier oder im
DF aber auch eine Umgehung, mit der man eine "Quasi-Selbstzerstörung" vornehmen kann.))