Halli Hallo,
In einem
Package habe ich mehrere Formulare die voneinander abgeleitet werden. Das gemeinsame Basisformular für diese Formulare ist in einem anderen
Package enthalten. Dieses
Package steht auch in den "requires" meines aktuellen Packages.
Öffne ich eines der Formulare in der
IDE dann wird diese Fehlermeldung erzeugt:
Code:
Error creating form: Ancestor for 'TCustomBaseForm' not found.
Der Tab "Design" in der
IDE ist dann nicht vorhanden (klar, das Basis-Formular kann nicht gefunden werden, woher soll die
IDE wissen, wie es auszusehen hat...)
Öffne ich in der
IDE vorher das Basis-Formular aus dem anderen
Package dann werden die Formulare ohne Fehler geöffnet und der Tab "Design" in der
IDE ist auch auswählbar.
Die
IDE erkennt ja normalerweise an dem Kommentar in dem Projektquelltext der am Ende eines Eintrages in "contains" steht, welcher Typ zu laden ist:
Code:
contains
...
frAbgeletet in 'abgeleitet.pas' {AbgeleitetesForm: TForm},
...
Das funktioniert auch problemlos, solange das Basisformular sich im selben
Package befindet oder solange es sich um eine Standard-Klasse wie "TForm" handelt.
Kann man in dem Kommentar irgendwie die
Package-Referenz auf die Basisklasse auflösen, so dass die
IDE diese beim laden findet? Oder müsste man für das betreffende Basis-
Package ein Designtime-
Package erstellen und die Formularklasse dort für die
IDE registrieren?
Vielen Dank schon mal,
Ralf