![]() |
geerbte Formkomponenten sind in der IDE nicht sichtbar
Hallo, ich habe folgendes Problem:
Ich würde gerne ein Basisformular mit einigen Komponenten (u.a. einigen Panels) erstellen und an abgeleitete Formulare vererben. In den abgeleiteten Komponenten möchte ich die Panels mit Komponenten versehen: Formular 1:
Delphi-Quellcode:
type
TBasicForm= class(Tform) pnlButtons: TPanel; pnlData: TPanel; ToolBar: TToolBar; MainGrid: TStringGrid; end; In der nächsten Unit hätte ich jetzt gerne diese Basicform mit Komponenten bevölkert:
Delphi-Quellcode:
Nun werden aber in der IDE die geerbten Komponenten von Myform1 nicht angezeigt, sodass ich z.B. auf das pnlData keine Komponenten platzieren kann. Erst zur Laufzeit werden die geerbten Komponenten sichtbar.
type Myform1= class(TBasicForm)
end; Ich nehme an, dass es nicht genügt, einfach Myform1 von TBasicform statt von TForm abzuleiten - aber was muss ich da noch machen, damit auch die IDE erkennt, dass das keine normale TForm ist? |
AW: geerbte Formkomponenten sind in der IDE nicht sichtbar
So etwas solltest du mit Frames machen. Die kannst du auch dann zur Designtime ansehen und auch nach belieben anpassen. Das Hauptframe ist dann dein "Grundgerüst" für alle weiteren Formulare. Einfügen kannst du das Ganze dann über die Toolpalette --> TFrame.
|
AW: geerbte Formkomponenten sind in der IDE nicht sichtbar
Das habe ich als Notlösung schon ins Auge gefasst.
Aber gibt es wirklich keine Möglichkeit, vererbte Formulare in der IDE zu bearbeiten? Das würde doch die ganze Objektablage samt Formularvererbung ziemlich sinnlos machen, oder? |
AW: geerbte Formkomponenten sind in der IDE nicht sichtbar
Zitat:
ToolPalette -> vererbbare Elemente So sieht die .DFM eines vererbten Formulares aus:
Delphi-Quellcode:
inherited F_ShopSystemBaseForm1: TF_ShopSystemBaseForm1
Caption = 'F_ShopSystemBaseForm1' PixelsPerInch = 96 TextHeight = 13 inherited AMMB_Main: TActionMainMenuBar [0] end inherited HGSTB_Main: THGStatusBar [1] end inherited HGP_Main: THGPanel [2] end inherited HGP_DarkMode: THGPanel [3] end inherited HGFMH_Form: THGFormMessageHook HookRoot = Owner end end |
AW: geerbte Formkomponenten sind in der IDE nicht sichtbar
Danke, das wars. Das
Delphi-Quellcode:
im DFM hat gefehlt.
inherited
|
AW: geerbte Formkomponenten sind in der IDE nicht sichtbar
Zitat:
Das inherited wird normalerweise automatisch gesetzt, sowie auch das inherited der Komponenten, welche auch der BasisForm liegen. |
AW: geerbte Formkomponenten sind in der IDE nicht sichtbar
Zitat:
Solange man an den geerbten Komponenten nichts ändert, werden sie übrigens im DFM-File gar nicht aufgelistet, auch nicht mit dem Zusatz inherited. Wenn die Form selbst als inherited angegeben ist, genügt das, damit die Komponenten richtig angezeigt werden. |
AW: geerbte Formkomponenten sind in der IDE nicht sichtbar
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:34 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