![]() |
Re: Frames und Vererbung
Das Problem liegt in den DFM-Dateien.
Für Deine Basisklasse hast Du eine DFM.Datei und für die abgeleitete auch. Das geht nicht. woher soll die klasse wissen, welche DFM sie nehmen soll? Lösung: Deine Basisklasse nur von TFrame ableiten. Die Ressource {$R *.dfm} löschen. In Deiner richtigen Klasse TMyFrame kassnt Du dann die Elemente auf das Frame packen. |
Re: Frames und Vererbung
Zitat:
ich das Projekt speichern kann. -> Kein Erfolg Zitat:
Wie omata schon richtig bemerkt hat sind Frame gerade zu genial um Benutzeroberflächen zu realisieren. Das mache ich auch schon einige Zeit. Jede Oberflächenmaske bekommt Ihren eigenen Frame. Alle Frames haben Gemeinsamkeiten, die ich der Vergangenheit in jedem einzelnen Frame wiederholt habe. Dadurch ist natürlich eine Redundanz entstanden, die schlecht zu warten ist. Jetzt wollte ich mir die Mechanismen der OOP zu nutze machen und eine Basisklasse für die Gemeinsamkeiten verwenden. Leider hat hier D7 (D5 auch) scheinbar einen Bug. |
Re: Frames und Vererbung
Zitat:
In der Basisklasse dürfen dann natürlich keine Controls enthalten sein. |
Re: Frames und Vererbung
Zitat:
in der Basisklasse sind keine Controls enthalten. Ist auch nicht nötig. Es kommt der gleiche Fehler wie oben beschrieben. |
Re: Frames und Vererbung
hab noch mal Dein Beispiel beguckt. Das Problem liegt bei der Deklaration in Form1 (Warum genau das so ist, weiß ich auch nicht)
Du musst das Frame in einem eigenen privat-Bereich deklarieren und im Create des Forms von Hand das Frame erzeugen. Dann sollte es gehen. |
Re: Frames und Vererbung
achso, und in Deinem Beispiel scheinst Du TFrameNachfahre mal aus einem TForm in ein TFrameBase umgewandelt zu haben. Du musst ein neues Frame erstellen und dann die Elternklsase TFrame in TFrameBase abändern
EDIT: damit dürfte sich meiner vorheriger Beitrag erledigt haben |
Re: Frames und Vererbung
Zitat:
Der Fehler kommt wenn ich das Projekt öffne. Nicht wenn ich das Projekt starte! Könntest Du bitte mein Beispiel so verändern das es funktioniert? |
Re: Frames und Vererbung
Zitat:
|
Re: Frames und Vererbung
![]() |
Re: Frames und Vererbung
Noch ein Gedanke:
Delphi verhaspelt sich bei den Frames, wenn man dem Projekt einen neuen Frame hinzufügt und anschließend die Deklaration so abändert, dass der Frame von einem anderen abgeleitet wird. Wenn man den Baseframe der Objektablage hinzufügt und den Nachfahren dann direkt vom Baseframe erben lässt, klappt es. Der Unterschied liegt in den DFM-Dateien. Diese beginnt bei einem "normalen" Frame mit 'object', bei einem abgeleiteten aber mit 'inherited'. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:35 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