TForm und Referenzen



  • Hallo. Ich möchte in meiner TForm1 in der Klasse unter dem private-Bereich ein

    private:
    int &citem;
    

    anlegen. Darin möchte ich den ItemIndex einer ComboBox ablegen den ich überall im Programm benötige. Ist einfach kürzer als immer ComboBox1->ItemIndex zu schreiben. 🙂

    __fastcall TForm1::TForm1(TComponent* Owner)
    	: TForm(Owner) // [BCC32 Fehler] E2210 Referenzelement 'TForm1::index' ist nicht initialisiert
    {
    citem = ComboBox1->ItemIndex;
    }
    

    Ich weiß das man Referenzen über die Initialisierungsliste anlegt. Wie genau muss das jetzt ausschauen? Wäre toll wenn da jemand weiterhelfen könnte.

    __fastcall TForm1::TForm1(TComponent* Owner)
    	: TForm(Owner) , citem(0) // So geht es ja leider nicht
    {
    }
    


  • Hallo

    Das geht so nicht, du kannst aus einer VCL-Property keine Referenz machen. Dein Problem mit der Initialisierung macht es ja schon deutlich.
    Alternativ könntest du natürlich eine kurze Getter- und Setter-Methode für TForm1 schreiben, die den Zugriff auf ComboBox1->ItemIndex weiterleitet.

    bis bald
    akari


Anmelden zum Antworten