Hello Малышев,
Tuesday, January 11, 2005, 9:03:52 PM, you wrote:
МГ> Привет ALL!
МГ> Если всё зделать так.
МГ> /=========/
МГ> destructor TLPoint.Destroy;
МГ> var
МГ> i:integer;
МГ> begin
МГ> bmp.Free;
МГ> l.free;
МГ> inherited Destroy;
МГ> end;
МГ> МГ> procedure Tform1.DestroyForm(sender:Tobject);
МГ> begin
МГ> listP.Free;
МГ> end;
МГ> МГ> То работает без ошибок.
МГ> МГ> Меня интересует класс Tlist.
МГ> - Я же сам создал обьект, следовательно должен и сам его удалить. Не учто
МГ> List.Free уничтожает ещё все обьекты, связанные с ним?
МГ> Если да, то он вызавет деструктор или каким-нибудь "диким" метод очистит
МГ> память?
Ну да! Метод Free любого объекта проверяет существование объекта и,
если он существует, вызывает деструктор объекта. Причем, сколько бы ни
было элементов в объекте (у нас это - список), они все освобождаются.
МГ> Ктому же в l- я записываю указатели на тип-запись. Метод Free очистит
МГ> память, занятую и под них?
Да. Все равно, какой тип туда пишется. Важно, что все это -
указатели. Да и в самом процессе очистки нет ничего магического.
Просто, указатели сбрасываются в nil, переставая куда-либо указывать.
МГ> А как можно прокантралировать освобождение памяти?
Думаю, можно использовать GetHeapStatus/