Динамический массив компонентов и освобождение памят

Вопросы использования сторонних (не входящих в состав FPC и Lazarus) утилит и библиотек.

Модератор: Модераторы

Ответить
mif
новенький
Сообщения: 71
Зарегистрирован: 14.12.2005 09:09:27

Динамический массив компонентов и освобождение памят

Сообщение mif »

Как лучше высвобождать память под qwe:array of TDataSource; Нужно ли перед qwe:=nil; Выполнять Free, для к-ого эл массива
Аватара пользователя
Иван Шихалев
энтузиаст
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург
Контактная информация:

Сообщение Иван Шихалев »

Обязательно. В данном случае ведь речь идет не о интерфейсных переменных, которые поддерживают счетчик ссылок.
PublicJoke
новенький
Сообщения: 41
Зарегистрирован: 04.07.2006 12:21:07

Сообщение PublicJoke »

В Delphi/FreePascal автосборка мусора осуществляется для сложных типов: интерфейсов или вариантов. Хотя в Вашем случае это лишний геморрой, IMHO.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
Сообщения: 1409
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Сообщение Sergei I. Gorelkin »

Конкретно для наследников TComponent можно создавать "родительский" компонент, который передавать в конструктор каждого создаваемого компонента. Потом для уничтожения всех компонентов достаточно вызвать Free для "родительского".
mif
новенький
Сообщения: 71
Зарегистрирован: 14.12.2005 09:09:27

Сообщение mif »

Спасибо за ответы. Принял на вооружение. 8)
Ответить