![]() |
AW: Zugriff auf Ereignisse in vererbter Form
Sry, den Post hab ich glatt übersehen.
|
AW: Zugriff auf Ereignisse in vererbter Form
Zitat:
Schau dir mal die Formulardatei als Text an (rechte Maustaste im Forumlardesigner, dann "Als Text anzeigen"). Als erstes Schlüsselwort muss bei einem abgeleiteten Formular dort "inherited" stehen. Wenn dort "object" steht dann kann Delphi nicht "wissen", dass es ein abgeleitetes Formular ist und zeigt ein leeres Fenster an. Ersetze in dem Fall "object" durch "inherited" und schalte wieder auf die normale Formularansicht und Delphi wird dir den Inhalt des vorfahren anzeigen. Auch mit den Events müsste es dann klappen! |
AW: Zugriff auf Ereignisse in vererbter Form
@ Ralf :
Die Form war zur Entwurfszeit definitiv leer, erst zur Laufzeit waren die Controls der Vorfahr-Form sichtbar. Ich bin jetz nicht mehr im Dienst, werde aber morgen dem Hinweis nochmal nachgehen. Ich habe jetzt mit einem Frame gearbeitet und es läuft eigentlcih so wie ich es brauche. |
AW: Zugriff auf Ereignisse in vererbter Form
Du kannst Formulare genauso simpel ableiten wie Frames. Nur 'per Hand', so wie Du es gemacht hast, würde ich es nicht machen.
In der Delphi-IDE gehst Du auf 'Neue Hinzufügen->Weitere' (oder Datei->Neu->Weitere) und dann im Dialog auf 'vererbbare Elemente'. Dann wählst du das Basisformular aus, fertig. Zur Laufzeit siehst Du dann schon das Basisformular komplett, kannst individuelle Anpassungen vornehmen etc. Das Überschreiben des Events eines im Elternformular eingeführten Controls geht auch intuitiv (wie bereits erwähnt): Beim Klick in den Eventhandler erzeugt Delphi den Event-Stub mit einer Zeile 'Inherited'. Doch Vorsicht! Wenn du mit den Events der vererbten Controls spielst, passiert es sehr schnell, das Delphi den Eventhandler auf NIL setzt, sodaß später noch nicht einmal der Original-Event aufgerufen wird. Daher mein Tipp: Funktioniert etwas im abgeleiteten Formular nicht mehr, dann schau Dir die DFM an. Dann steht da bestimmt soetwas wie
Code:
Diese Zeile kannst Du dann einfach Löschen
object MyInheritedButton
OnClick = Nil ... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:19 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