Objekt ableiten
-
Hallo Forum.
Ich hätte eine kurze Frage; für den Fall, dass das das falsche Subforum ist, bitte den Thread weiterleiten. Vielen Dank.
Man kann Objekte von anderen Objekten ableiten durch z.B. TPanel* myPanel.
Jetzt meine Frage: Ich habe ein Panel mit zwei Labels enthalten und möchte davon andere Objekte ableiten. Ist sowas möglich?
Im Sinne von:MyPanel* myNewPanel = new MyPanel;
Der Compiler meldet ein Expression Syntax Error und das myNewPanel nicht deklariert sei? Ich dachte bei OOP kann man von allen Objekten wieder neue Childobjekte ableiten.
Viele Grüsse und schonmal Danke im voraus.
-
Das gibt eher eine neue Komponente...
MfG
kpeter
-
Schau dir mal die Komponente 'TFrame' an.
Was soll denn MyPanel bei deinem Code für eine Klasse sein?
Man kann Objekte von anderen Objekten ableiten durch z.B. TPanel* myPanel.
Dies bezeichnet man NICHT als ableiten, sondern du deklarierst damit einfach eine Variable mit Namen 'myPanel', welche vom Typ 'Zeiger auf TPanel' ist (beim BCB müssen alle Objekte von VCL-Komponenten mit Zeigern deklarieret werden, anders als in Delphi).
Nicht Objekte werden voneinander abgeleitet, sondern Klassen!
-
Er meint evtl. das Bilden einer Klasse:
class TMyPanel : public TPanel { __published: TButton *Button1; TLabel *Label1; TLabel *Label2; private: public: virtual __fastcall TMyPanel(TComponent* Owner); };MfG
kpeter