Hallo, Wenn ich mich nicht irre erstellst du Zeiger auf die Buttons. Diese willst du dann aber verwenden ohne ihnen vorher den erforderlichen Speicher zu reservieren (new).
Bei der Box machst du dass doch auch, warum bei den Buttons nicht?
ich kenn mich mit dem ganzen borlandsteuerlementen nicht aus aber
C++:
for (i=0;;i++)
diese schleife wird vermutlich nicht das tun was du möchtest ich tippe mal stark das hier
C++:
for (i=0;i<30;i++)
laufen soll...
davon abgesehen rufst du innerhalb dieser schleife den defaultkontruktor auf (so der was wirklich in deinem zusammenhang sinnvolles tut) ich hoffe das ist an der stelle auch so gewollt...
dann kommt die innerei schleife
C++:
for (k=0;k<150;k++) { NewButton[0][k]; NewButton[0][k]->Parent = NewBox[i]; }
da die äusser anscheinend 30 mal durchlaufen werden soll darfst du diese schleife nicht als innere verwenden da musst du ne eigene draus machen sonst läuft der die sinnlos 30 mal durch...
irgendwie willst du da auch das parrent dieser buttons die boxen sein lassen wobei du hier unterschiedliche anzahlen hast, und wie reyx schon sagte hast du für diese buttons auch kein speicher allokiert es handelt sich bisher einfach nur um ein mehrfach-pointerarray -- ...fleißig wie zwei Weißbrote
Wenn du die Instanzen im FormOpen erzeugst sind sie ja auch nur lokale Instanzen, die bei verlassen der Funktion oder außerhalb davon nicht existieren!
Deklarier die Instanzen doch einfach als Member der Form (in der zugehörigen Header-Datei) und weise ihnen dann ihren Speicher zu.
Ich hab nun etwa das selbe Problem, kann aber mit deiner Antwort leider nix anfangen Reyx ;) Folgendes soll bei nem ButtonClick auf der Form2 ausgeführt werden:
C++:
TTabSheet *tabsheet= new TTabSheet(Form1->PageControl1); tabsheet->Parent = Form1->PageControl1; tabsheet->PageControl = Form1->PageControl1;
TMemo *memo = new TMemo(Form1); tabsheet->InsertControl(memo); memo->Align = alClient; memo->Name="Memo"+IntToStr(x);
Wie bekomme ichs nun hin, dass ich von Außerhalb drauf zugreifen kann?