Ahoi!
Ich habe hier eine Reihe von Formularen, die alle ein paar Dinge gemein haben. Findig wie ich bin, dachte ich: Machste eine hübsche Klasse draus, legst ein Formular wie immer (via Datei->Neu->Formular) an, und änderst im Code die Basisklasse des Forms auf TMyForm. Speichern, neu öffnen, alles gut. Leider nicht alles gut.
Mein Formular:
Delphi-Quellcode:
type
TMyForm = class(TForm) // Bewusst nicht TCustomForm, ich will das gepublishte Zeug von TForm schon haben
private
FIsPopup: boolean;
FTitle: string;
FShowTitlebar: boolean;
FTitleImage: TImage;
FToolArea: TWinControl;
FMenuArea: TWinControl;
FMainArea: TWinControl;
FTitleLabel: TLabel;
procedure SetShowTitlebar(const Value: boolean);
procedure SetTitle(const Value: string);
procedure SetMainArea(const Value: TWinControl);
procedure SetMenuArea(const Value: TWinControl);
procedure SetToolArea(const Value: TWinControl);
protected
procedure DoShow; override;
procedure DoHide; override;
public
constructor Create(AOwner: TComponent); override;
constructor CreateMulti(MainArea, Menu, Tools: TWinControl);
published
property Title: string read FTitle write SetTitle;
property ShowTitlebar: boolean read FShowTitlebar write SetShowTitlebar;
property IsPopup: boolean read FIsPopup write FIsPopup;
property MainArea: TWinControl read FMainArea write SetMainArea;
property MenuArea: TWinControl read FMenuArea write SetMenuArea;
property ToolArea: TWinControl read FToolArea write SetToolArea;
end;
Zur Runtime werden zwar schön meine Konstruktoren und alles durchlaufen, zur Designtime aber tauchen meine Title* Komponenten nicht auf, also wird der Konstruktor wohl nicht aufgerufen. Auch meine 6 Properties sind im
OI nicht aufzufinden, via Code jedoch zugänglich (was nicht viel hilft). Alles sieht im Designer nach unverändertem TForm aus.
Auch neu Öffnen der gesamten
IDE sowie Projekt hat nicht geholfen. Was läuft hier schief? (Delphi 2010 nutze ich hier.) Dankbarkeit für jegliche Info ist garantiert
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)