neue Eigenschaft für TRadioButton
-
Hallo
ich möchte einige RadioButtons um die Eigenschaft ZeigerAufObjekt erweitern.class OBJRadio : public TRadioButton { public: TObject * PtOBJ; };Später wird das ganze dynamisch aufgerufen.
void __fastcall TForm1::Button2Click(TObject *Sender) { OBJRadio * Rad1 ; Rad1 = new OBJRadio (this) ; Rad1->Left = 10 ; Rad1->Top = 10 ; Rad1->Caption ="Hallo"; Rad1->Parent = Form1; Rad1->Checked = true; }Das ganze wird mit dieser Meldung gewürdigt :
ODER E2125 Compiler konnte Standardkonstruktor nicht für die Klasse 'klasse' generieren
ODER E2125 Compiler konnte Operator = nicht für die Klasse 'klasse' generieren
In manchen Fällen muß der Compiler Elementfunktionen generieren.
Wenn eine solche Elementfunktion wegen der Vorgaben der Programmiersprache nicht erzeugt werden kann, gibt der Compiler eine der obigen Fehlermeldungen aus.ich lese daraus das ich jetzt noch einen eigenen konstruktor machen muß.
Wie mach ich das bitte ?MfG Schlumpi
-
Hallo
Zuerstmal solltest du die Grundlagen von OOP in C++ beherschen.
Dann wäre es kein Problem diene Klasse entsprechend zu erweitern, das sie in die VCL-Struktur passt
class OBJRadio : public TRadioButton { public: __fastcall OBJRadio(TComponent* Owner); TObject * PtOBJ; }; __fastcall OBJRadio::OBJRadio(TComponent* Owner) : PtOBJ(0) { }
-
Hallo akari
Danke für die Mühe.
Ich denke meine Version war so wie im Tutorial beschrieben.Jetzt hab ich deine Version gepastet und folgendes erhalten :
[C++ Fehler] Unit1.cpp(42): E2251 Standardkonstruktor zum Initialisieren der Basisklasse 'TRadioButton' nicht gefunden
Der Hilfstext sagt sinngemäß das keine Basisklasse existiert.Kannst du da nochmal drübersehen?
MfG Schlumpi.
-
Hallo
sorry, da fehlt noch der Aufruf des Konstruktor für die Basisklasse
__fastcall OBJRadio::OBJRadio(TComponent* Owner) : TRadioButton(Owner), PtOBJ(0) { }bis bald
akari
-
Hab ich gerade ausprobiert.
Funktioniert toll.Danke.
MfG Schlumpi.