Einzelnen Beitrag anzeigen

peterbelow
Online

Registriert seit: 12. Jan 2019
Ort: Hessen
672 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Fehler beim Laden von abgeleiteten Frame

  Alt 14. Mär 2024, 08:52
Ich habe mir für ein Anwendung ein Basis Frame mit interface und Standart-Funktionen gebastelt.
Davon abgeleitet habe ich neue Frames, die ich dann mit Leben fülle.
Wenn ich allerdings das Projekt lade, und dann eins der abgeleiteten Frame versuche zu öffnen, dann bekomme ich den Fehler "Error creating form in NeuesFrame1.dfm: Ancestor for "TmyBaseFrame" not found" (Namen wegen Schutz der Persönlichkeitsrechte der Frames geändert, ich will nicht, dass die im Verzeichnis gemobbt werden ).

Habe ich das Basis Frame allerdings geöffnet, geht es ohne Probleme.
Alle Frames sind im Projekt verfügbar und in der DFM der abgeleiteten Frames startet es mit inherited, nicht object.
Ich nutze Delphi 11.3

Weiss einer, wie man das wegbekommt ?
Sowas kann passieren wenn man den vorgesehenen Mechanismus der IDE zum Erstellen abgeleiteter Frames (oder auch Forms/Datamodules) umgeht. Wenn man wie vorgesehen über File -> New -> Others -> inheritable items (d. h. den repository Dialog) geht erzeugt die IDE nämlich im DPROJ-File des Projektes Einträge wie

Code:
        <DCCReference Include="LM_AdmeTestDetailFrameU.pas">
            <Form>LM_AdmeTestDetailFrame</Form>
            <DesignClass>TFrame</DesignClass>
        </DCCReference>
Der kritische Teil ist die Angabe unter dem DesignClass-Node, der fehlt mitunter, wenn man eine abgeleitete Klasse "zu Fuß" erzeugt. Das führt auch dazu, dass die Frameklasse in der Liste der verfügbaren Frames für das Projekt nicht auftaucht.
Peter Below
  Mit Zitat antworten Zitat