Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Aus einem geerbten Form ein neues incl. Base Form machen (https://www.delphipraxis.net/212407-aus-einem-geerbten-form-ein-neues-incl-base-form-machen.html)

Kostas 6. Feb 2023 15:48

Aus einem geerbten Form ein neues incl. Base Form machen
 
Hallo Zusammen,

ich habe ein Base Form. Wenn ich ein neues Form benötige erbe ich von diesem Base Form.
Für ein anderes Projekt würde ich jetzt gerne das neue Form incl. die Elemente aus dem Base Form in ein neues Form bilden ohne die Abhängigkeit von dem Base Form. Das neue Form soll also vom Typ TForm sein. Gibt es dafür ein Möglichkeit?

In FastReport gibt es eine Möglichkeit von Base Form ablösen. So etwas suche ich unter Delphi.

Gruß Kostas

himitsu 6. Feb 2023 16:57

AW: Aus einem geerbten Form ein neues incl. Base Form machen
 
Für Forms nicht, im Formdesigner. (OBJECT oder INHERITED)

Das Create im Code, da nicht mit Create, sondern erstmal NewInstance, dann die VorfahrenDFM laden und anschließend die eigene DFM mit INHERITED drüber.

Oder nach dem Erstellen die Komponenten der externen Form-Vorlage in/über die eigene Form drüber laden (Komponenten/Property, wie vom Vererben werden so aber andersrum überschrieben, also sowas nicht nutzbar)



Bezüglich Frames kann man in INLINE oder OBJECT nutzen,
also als externes Objekt reingezogen
oder inline als Kopie.

Kostas 7. Feb 2023 09:07

AW: Aus einem geerbten Form ein neues incl. Base Form machen
 
Vielen Dank für die Anleitung.

Ich habe es probiert aber es mir leider nicht gelungen. Vermutlich habe ich die Elemente der Base Form an der falschen Stelle kopiert.
Nach ein paar Versuchen habe ich es aufgegeben und die Form komplett neu gemacht. Schade dass es so ein Tool nicht gibt.
Ich probieren Deinen Weg beim nächsten mal erneut bei einer einfacheren Base Form.

Dir noch eine schöne Zeit.

himitsu 7. Feb 2023 09:34

AW: Aus einem geerbten Form ein neues incl. Base Form machen
 
Manuell kann man noch den Inhalt der einen DFM (unterhalb des RootObjects) in eine andere DFM kopieren.

Nur nicht vergessen, dass in der Klasse von jedem Typen mindestens eine Deklaration benötigt wird. Alternativ kann man aber auch mit RegisterClass das selber machen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:40 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