Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Nachträgliche Visual Form Inheritance einfügen - Wie? (https://www.delphipraxis.net/61602-nachtraegliche-visual-form-inheritance-einfuegen-wie.html)

motion 23. Jan 2006 20:03


Nachträgliche Visual Form Inheritance einfügen - Wie?
 
ich setze in meiner Application schon Visual Form inheritance (VFI) ein:
Beispiel:
TForm -> TForm_Ftaste -> Lager, Adressen, Fakturierung
TForm -> TForm_simple -> Suchen, Drucken, auskunft

Ich möchte jetzt noch eine Abstraktions-/Vererbungsebene in diese Konstruktion einziehen:

Tform -> TForm_Basic -> TForm_Ftaste -> Lager, Adressen, Fakturierung
Tform -> TForm_Basic -> TForm_simple -> Suchen, Drucken, auskunft

Wie muss ich das tun?
Ich habe bereits das Formular TForm_Basic erstellt; meine Basiseinstellungen vorgenommen und die FormCreate Dinge hineingeschrieben. Im TForm_FTaste habe ich
geändert:
TForm_Ftaste = class(TForm) in TForm_Ftaste = class(TForm_Basic)

Syntaktisch ist alles korrekt (Compiler übersetzt); Die Kette der FormCreate Events wird auch sauber abgearbeitet.
Aber die Darstellung der visuellen Componenten, die Vererbung von Eigenschaften (z.B. Verschieben von Controls im Basis-Formular soll ja sofort in den abgeleiteten Forms zu sehen sein) etc. funktioniert nicht.
Die VFI funktionert weiterhin einwandfrei von meinen Basisklassen TForm_Ftaste und TForm_Simple zu den nachgelagerten Klassen.

Muss noch was in der DFM geändert werden?
Oder wo kann es sonst noch klemmen?

dfried 23. Jan 2006 20:42

Re: Nachträgliche Visual Form Inheritance einfügen - Wie?
 
Du musst in der dfm noch aus "Object" "Inherited" machen, dann gehts.

Elvis 23. Jan 2006 20:54

Re: Nachträgliche Visual Form Inheritance einfügen - Wie?
 
Liste der Anhänge anzeigen (Anzahl: 1)
piece of cake...
Die Deklaration hast du ja bereits im Code abgeleitet...
Jetzt einfach auf's Form gehen und dort ganz oben object mit inherited tauschen.
Außerdem ist es ratsam alle Werte aus der DFM zu löschen, die du vererbt haben willst. Sonst ist der Link zum Vorgänger futsch... ;)

motion 23. Jan 2006 21:05

Re: Nachträgliche Visual Form Inheritance einfügen - Wie?
 
Bingo!
Danke für Eure schnelle Rückmeldung.
Das war's statt "object" ist "inherited" in der dfm zu verwenden.
Ich habe schon fast eine Stunde auf die PAS und DFM gestarrt und den magischen Unterschied gesucht ... und nicht gesehen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz