![]() |
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? |
Re: Nachträgliche Visual Form Inheritance einfügen - Wie?
Du musst in der dfm noch aus "Object" "Inherited" machen, dann gehts.
|
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... ;) |
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 09:51 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