Einzelnen Beitrag anzeigen

Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#1

Abgeleitete Formulare aus anderem Package in der IDE

  Alt 17. Apr 2020, 08:24
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
Ralf Kaiser
  Mit Zitat antworten Zitat