Работа с функциями

193
14 марта 2017, 15:57

Есть функция удаления динамических компонентов:

void clear()
{
  Button1->Free();
  Button2->Free();
  Button3->Free();
  Button4->Free();
  Button5->Free();
  Button6->Free();
  Button7->Free();
  Memo1->Free();
  Memo2->Free();
  Label1->Free();
  Label2->Free();
  Label3->Free();
  Edit1->Free();
  Edit2->Free();
  Edit3->Free();
  Edit4->Free();
  UpDown1->Free();
  UpDown2->Free();
  UpDown3->Free();
}

Есть функция создания:

void __fastcall TForm1::N3Click(TObject *Sender)
{
  if(nq>=1)
  {
    clear();
  }
  creint();
  Edit1->Free();
  Edit2->Free();
  Edit3->Free();
  Edit4->Free();
  UpDown1->Free();
  UpDown2->Free();
  UpDown3->Free();
  Button5->Free();
  Button6->Free();
  Button7->Free();
  Memo2->Free();
  Label3->Free();
}

Но перед функцией создания creint() идет функция clear(). И соответственно выходит ошибка, так как функция clear() удаляет все компоненты которые были. А я удаляю заранее некоторые, так как они не нужны.

Вопрос как этого избежать? Или сделать какое-нибудь небольшое условие на проверку компонентов на форме?

Answer 1
Object *obj = new Object();
if (obj != NULL)
    std::cout << "Объект не удалён!";
else 
    std::cout << "Объект удалён или не инициализирован!";

После удаления нужно так же обнулить переменную:

obj = NULL;
READ ALSO
Android-уведомление на Qt

Android-уведомление на Qt

Здравствуйте! Пишу небольшое приложение на Qt для андроидИ интересно стало, как присылать пользователю уведомления? Например: "Уже 8 часов...

389
Плагины для sublime text 3

Плагины для sublime text 3

Добрый день, подскажите пожалуйста полезные плагины для удобного написания кода на С++ в sublime text 3

304
Ошибка при компиляции в Code::Blocks

Ошибка при компиляции в Code::Blocks

Установил Code::Blocks 1601; запускаю любой проект- выдает ошибку!Выскакивают следующие окна: после нажатия собрать и запустить

244