Einzelnen Beitrag anzeigen

idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#1

message CM_TEXTCHANGED

  Alt 6. Mai 2017, 16:51
Ich bin dabei, mir eine Komponente von TEdit abzuleiten.

Dabei würde ich gerne, auch weil ich damit Erfahrungen sammeln möchte, direkt auf die Windows Messages reagieren. Ich habe also eine Methode
procedure CMTextChanged(var Message: TMessage); message CM_TEXTCHANGED; versucht. Zur Designzeit wird die Methode einmal beim Erstellen des Formulars und dann jedesmal, wenn man den Text des Felds verändert, aufgerufen. Aber zur Laufzeit wird die Methode nur aufgerufen, wenn das Formular erstellt wird, aber nicht, wenn man in dem Edit-Feld Änderungen vornimmt, und auch nicht beim Verlassen des geänderten Edit-felds. Verstehe ich da CM_TEXTCHANGED falsch?

Füge ich der Deklaration inherited hinzu, dann stürzt die IDE übrigens beim Versuch zu kompilieren komplett ab, bringt alle paar Sekunden eine Meldung Zugriffsverletzung und kann nur mehr über den Task Manager beendet werden. Das Verhalten verstehe ich überhaupt nicht. In der Prozedur wird inherited aufgerufen und anschliessend eine Kontrollmeldung am Bildschirm ausgegeben, sonst passiert noch gar nichts.
  Mit Zitat antworten Zitat