C++ Builder (at Runtime)
Wie kann man bei C++ Builder Labels at Runtime erzeugen?
Antwort schreiben
Antwort 1 von Elefunty vom 21.08.2022, 12:31 Options
Du willst also ein Label nicht im Formular-Editor erstellen sondern im Code.
Arbeite schon seit ner Zeit nicht mehr mit Borland, es müsste aber so (oder so ähnlich) funktionieren.
TLabel *myLabel=new TLabel(this);
myLabel->Parent=Form1;
myLabel->Name="MYLABEL";
myLabel->Top=250;
myLabel->Visible=true;
Ansonsten
hier ein Link mit dem selben Problem.
Im Link wird der Zeiger immer verworfen. Wird Zugriff auf das neue Label benötigt, wird es erst über den Namen gesucht. Ich persönlich würde eher alle Zeiger in nem Array (oder besser Vector, bei nur einem Element reicht ja auch ein einfacher Zeiger [bei bedarf zu not auch global]). Man kann ihn ja auch sonst in ne struct verpacken, sodass man gleich infos hat...
Auf jeden Fall würde ich immer den Zeiger speichern, um die Zugriffe zu vereinfachen und zu beschleunigen.
Ele
Antwort 2 von namenslos vom 21.08.2022, 16:49 Options
Oh, danke, das hat geholfen. ;-)
Ich bin erst gestern von Delphi zu C++ Builder umgestiegen, wobei ich dachte, dass es nicht viel anders sein wird mit der Art und Weise der Programmierung. Schließlich ist doch einiges anders, da ich die ganze Zeit nach einer with-do- Schleife in C++ gesucht habe, mit der man bei Delphi die Komponenten zur Laufzeit erzeugen kann.