![]() |
Problem mit Formvererbung
Hallo zusammen.
Ich hab in eine Projekt folgende Konstellation: Package A: Enthält die Klassen BaseChild und BaseParent (beides Forms mit ein paar Komponenten + Methoden). Kompiliert als "Entwurf und Laufzeit". Das Package landet in einem Ordner "output", wo später auch die Anwendung hinsoll (soll mal mit Laufzeitpaketen laufen). Die Quellen von Package A sind im Suchpfad und im Bibliothekspfad eingestellt. Hauptanwendung: Das Hauptformular soll von BaseParent aus Package A abgeleitet sein. Dazu habe ich die Unity von BaseParent in die Uses-Liste eingetragen, den Typ des Formulars von
Delphi-Quellcode:
auf
class(TForm)
Delphi-Quellcode:
geändert und in der DFM
class(TBaseParent)
Delphi-Quellcode:
durch
object
Delphi-Quellcode:
ersetzt.
inherited
Problem: Ich kann nicht mehr zurück auf die Formularansicht springen, weil er dann sagt: Zitat:
Es hilft auch nichts, das BaseParent vorher in der IDE zu öffnen. Wo ist das Problem? |
AW: Problem mit Formvererbung
Übliches Problem, entweder fügst du die BaseParent explizit dem Projekt hinzu (in deinem Fall nicht wünschenswert, wenn du es über ein Package nutzen willst) oder du fügst die TBaseParent Form dem Repository hinzu (Kontextmenü, wenn du auf das Form klickst)
|
AW: Problem mit Formvererbung
Danke, das mit der Objektverwaltung hast gebracht
|
AW: Problem mit Formvererbung
Hatte ein ähnliches Problem mit derselben Meldung:
Auswahl einer Formularvererbung über "Datei|Neu|Vererbbare Elemente...|" Ursache hierbei war jedoch: Die im Dialog gezeigte Auswahlliste wird aus der *.dpr Datei aufgebaut. Wenn in den PAS/DFM Dateien Namen geändert wurden und die *.dpr Datei es nicht korrekt mitbekommen hat, kann es sein, dass dort noch ein alter, ungültiger Name ist: Beim Versuch diese nicht vorhandene Formularresource zu vererben dann die Fehlermeldung. Wer also meint er müsse händisch oder extern DFM Dateien anpassen darauf achten, dass die {...} Elemente in der DPR Datei auch angepasst wird. Beispiel meines Fehlers:
Delphi-Quellcode:
musste lauten:
BaseFr in '..\Framework\BaseFr.pas' {frBaseFr: TFrame},
Delphi-Quellcode:
BaseFr in '..\Framework\BaseFr.pas' {frBase: TFrame},
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:49 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