ďťż

Ładny brzuch

Witam

Mam taki problem: deklaruje tablice obiektów typu TForm1, na której znajduje się np. label.

TForm1 *forma[10];

Następnie tworze w losowym miejscu tablicy [od 0 do 9] obiekt TForm

forma[x] = new TForm1(0);[QUOTE] I teraz chce zapisać coś do tego labela nie wiedziąc jaki jest numer formy w tablicy [CODE]for (int i=0; i<10;i++) { forma[i]->Label->Caption = "text"; }

Ten kod jest oczywiście nie poprawny ponieważ nie można się odwoływać do obiektów których nie ma. Można jakoś sprawdzić czy dany obiekt został utworzony? Jeśli tak to jak?, prosze o kod.



w javie nie byloby problemu ;)
a w cpp musisz sam zadbac, na co wskazuja wskazniki i czy jest to cos sensownego.
mozesz na przyklad ustawiac wartosc wskaznika na NULL jesli na nic sensownego nie pokazuje i w ten sposob kontrolowac czy obiekt istnieje czy nie.
czyli:
TForm1 *forma[10] = {NULL};
i teraz jezeli stworzysz jakis obiekt:
forma[9] = new TForm1(Application);
to pod forma[9] bedziesz mial niezerowy wskaznik do obiektu, a pozostale wskazniki form[0-8] beda ustawione na NULL.

problem pojawia sie kiedy obiekt przestaje istniec [zamykasz okienko]. oczywiscie tablica forma sama sie nie zaktualizuje, musisz to oprogramowac. najlepiej w destruktorze TForm1 :)

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •