Komponenten zur Laufzeit erzeugen E2313
-
Hallo,
ich muß in meinem Programm mehrere RadioButton zur Laufzeit erzeugen.
Habe mir das Beispiel aus der FAQ genommen, klappt auch wunderbar.
So sieht das bei mir aus:TRadioButton *NeuerRadioButton[Waagenanzahl]; for (int i = 0; i < Waagenanzahl; i++) { NeuerRadioButton[i] = new TRadioButton(this); NeuerRadioButton[i]->Top = Waage1RadioButton->Top +((i+1)*17); NeuerRadioButton[i]->Left = Waage1RadioButton->Left; NeuerRadioButton[i]->Height = Waage1RadioButton->Height; NeuerRadioButton[i]->Width = Waage1RadioButton->Width; NeuerRadioButton[i]->Tag = Waage1RadioButton->Tag+i+1; NeuerRadioButton[i]->Parent = this; NeuerRadioButton[i]->Caption = "Waage &" + IntToStr(i+2); NeuerRadioButton[i]->Hint = "Anwahl der Waage " + IntToStr(i+2); NeuerRadioButton[i]->ShowHint = true; NeuerRadioButton[i]->Name = "Waage" + IntToStr(i+2); NeuerRadioButton[i]->OnClick = Waage1RadioButtonClick; NeuerRadioButton[i]->Show(); }
Das Blöde ist nur, daß irgendwo im Programm erst festgelegt wird wie groß Waagenanzahl ist.
D.h. bei Programmstart wird in einer ini-Datei die Anzahl festgelegt.
Also dies:const int Waagenanzahl = 5;
geht nicht.
Ich bekomme ständit den Fehler E2313 Konstantenausdruck erforderlich.
Wie bekomme ich eine Variable Anzahl der Komponenten hin?
Danke
-
Hi,
schau mal in der Hilfe unter vector und in dem Zusammenhang unter push_back()!Alexander Sulfrian
PS. Es geht auch list o.ä.
-
Siehe FAQ, "Komponenten - dynamische arrays ..."
-
Super, danke an Euch beide.
Jetzt gehts.