• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dynamiczne tworzenie i usuwanie Shape Builder c++

0 głosów
424 wizyt
pytanie zadane 20 marca 2018 w C i C++ przez Tomek Reda Obywatel (1,110 p.)
edycja 20 marca 2018 przez Eryk Andrzejewski

Tworzę sobie funkcję, która ma mi rysować słupki w zależności od podanych wartości. Problem jaki się pojawia to to, że przy drugim odwołaniu ciągle widzę te pierwsze shapy, które narysował https://scr.hu/8zzD4N

Więc przed każdym wywołaniem funkcji należałoby usunąć poprzednie shapy. I tu moje pytanie: jak się usuwa Shape? Próbowałem delete[] shape, ale to nic nie dało.

TShape *shape[10];

a następnie funkcja:
 

 void drawRectangle(double tab[],int n)
  {

    for(int i=0;i<n;i++)
         {
         shape[i] = new TShape((TComponent*)(NULL));
          shape[i]->Parent = Form1;
          if(i==0)
          {
          shape[i]->Left = 322;
          shape[i]->Height = -tab[i];
          }
          else
          {
          shape[i]->Left = shape[i-1]->Left+35;
           shape[i]->Height =-tab[i];

          }
          shape[i]->Visible=true;
          shape[i]->Top = 200;
          shape[i]->Width = 35;
          shape[i]->Repaint();
          }
        }

 

komentarz 20 marca 2018 przez Eryk Andrzejewski Mędrzec (164,260 p.)
Proszę dbać o ortografię i interpunkcję, a kod źródłowy, zgodnie z regulaminem, wstawiać w przystosowany do tego bloczek.

1 odpowiedź

0 głosów
odpowiedź 20 marca 2018 przez j23 Mędrzec (195,220 p.)

próbowałem delete[] shape ale to nic nie dało

To oczywiste, że nic nie dało, bo próbowałeś usunąć tablicę wskaźników, której nie stworzyłeś na stercie. Jeśli już, to tak:

TShape *shape[10] = { nullptr };
...


for(int i = 0; i < 10; i++) 
{
	delete shape[i];
	shape[i] = nullptr; 
}

 

PS, kod wstawiaj w bloczek {...}

Podobne pytania

0 głosów
1 odpowiedź 463 wizyt
pytanie zadane 21 stycznia 2019 w C i C++ przez inczyk Początkujący (410 p.)
0 głosów
1 odpowiedź 1,353 wizyt
0 głosów
1 odpowiedź 1,893 wizyt
pytanie zadane 5 września 2015 w C i C++ przez Qlass Początkujący (490 p.)

93,720 zapytań

142,635 odpowiedzi

323,264 komentarzy

63,267 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...