Как удалить компоненты формы

Я динамически создаю компоненты в форме в событии Show. Мне нужно уничтожить все компоненты в событии Close, потому что в следующий раз при событии OnShow он должен снова создать компоненты. Здесь количество компонентов изменяется в соответствии с количеством строк данных. я использую

this->DestroyComponents();  
this->Close(); 

но когда в следующий раз я позвоню, это либо покажет нарушение прав доступа, либо сообщение о том, что компонент уже существует, потому что он вообще не располагал компонентами.

Как правильно распоряжаться формой и ее компонентами?


person Suhrob Samiev    schedule 23.11.2012    source источник
comment
Это освобождает сам TForm   -  person Remy Lebeau    schedule 24.11.2012


Ответы (1)


Вам нужно отслеживать компоненты, которые вы создаете, например, в TList или TObjectList, а затем при необходимости перебирать их, вызывая delete для каждого компонента.

person Remy Lebeau    schedule 24.11.2012
comment
Я создаю еще один экземпляр формы, и теперь все в порядке! - person Suhrob Samiev; 26.11.2012