Mam taki problem: otworzywszy podrzędną formę tworzę na niej labele, załóżmy wypunktowanie w pionie. Wygląda to w ten sposób:
for (int i=1; i<=5; i++)
{
TLabel *Napis;
Napis = new TLabel(this);
Napis->Parent = this;
Napis->Caption = IntToStr(i) + ".";
Napis->Left = 80;
Napis->Top = 400 + 20 * Licznik;
}
Kiedy następny raz otwieram formę, chcę np. mieć 3 punkty a nie 5, jednak pozostałe dwa nadal tam są. Wiem że trzeba by usunąć obiekty poleceniem delete *Napis, ale jak to zrobić? Jeśli umieszczę tą instrukcję w OnClose to nawet nie chce się skompilować, gdyż nie zna czegoś takiego jak Napis. Cały szkopuł w tym aby wraz z zamknięciem okna usunąć te komponenty, które stworzyłem programowo. :|
To tylko przykład z tymi punktami, w rzeczywistości wymagana w programie zawartość labeli i ich ilość jest różna.