Ich habe eine TForm
(TVehicleEditForm) mit 3 identischen TFrames
(TVfahricUnitFrame) innen.EventHandler in einem TFrame?
Die Idee war, dass jede Instanz des Rahmens eigene Ereignisse durch eine eventhandler
innerhalb des Rahmens behandeln. Das Problem ist, dass die eventhandler
nicht aufgerufen wird.
Ich habe versucht, die eventhandler
durch Code innerhalb des Rahmens durch Überschreiben der Create-Methode zuweisen, aber der Handler wird auch in diesem Fall nicht aufgerufen.
Aber wenn ich die eventhandler
außerhalb des Rahmens aus dem Formular zuweisen, funktioniert es gut. So:
fraVehicleUnitFrame1.cmdNewOwner.OnClick := fraVehicleUnitFrame1.cmdNewOwnerClick;
fraVehicleUnitFrame2.cmdNewOwner.OnClick := fraVehicleUnitFrame2.cmdNewOwnerClick;
fraVehicleUnitFrame3.cmdNewOwner.OnClick := fraVehicleUnitFrame3.cmdNewOwnerClick;
Und dies ist nur eine Taste! Da ich viele Komponenten innerhalb des Rahmens habe, würde dies zu vielen Zuweisungen führen ... Ziemlich hässlicher Code, wenn dies direkt im Objektinspektor gemacht werden sollte.
Ich benutze D2007. Irgendeine Idee von der Ursache?
Grüße Roland
Danke für den Hinweis !!! Ich habe es wieder funktioniert :) Vielen Dank –
Ich bin froh, dass ich helfen konnte! –
Ich löse dieses Problem, indem ich die Frame-Instanz aus dem Formular lösche und erneut hinzufüge, aber deine Lösung ist der beste Weg, besonders wenn Änderungen an der Frame-Instanz vorgenommen wurden. –