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

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

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

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

Сообщение mif » 03.07.2006 16:47:12

Как лучше высвобождать память под qwe:array of TDataSource; Нужно ли перед qwe:=nil; Выполнять Free, для к-ого эл массива
mif
новенький
 
Сообщения: 71
Зарегистрирован: 14.12.2005 10:09:27

Сообщение Иван Шихалев » 04.07.2006 08:07:12

Обязательно. В данном случае ведь речь идет не о интерфейсных переменных, которые поддерживают счетчик ссылок.
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург

Сообщение PublicJoke » 04.07.2006 12:27:21

В Delphi/FreePascal автосборка мусора осуществляется для сложных типов: интерфейсов или вариантов. Хотя в Вашем случае это лишний геморрой, IMHO.
PublicJoke
новенький
 
Сообщения: 41
Зарегистрирован: 04.07.2006 12:21:07

Сообщение Sergei I. Gorelkin » 04.07.2006 14:13:33

Конкретно для наследников TComponent можно создавать "родительский" компонент, который передавать в конструктор каждого создаваемого компонента. Потом для уничтожения всех компонентов достаточно вызвать Free для "родительского".
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1395
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Сообщение mif » 04.07.2006 17:02:28

Спасибо за ответы. Принял на вооружение. 8)
mif
новенький
 
Сообщения: 71
Зарегистрирован: 14.12.2005 10:09:27


Вернуться в Сторонние средства

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

Рейтинг@Mail.ru