Использую в проекте такую конструкцию:
На форме Form1 лежит ScrollBox1, на который в рантайме размещаю несколько фреймов.
for i := 1 to n do
begin
F_Frame := TMyFrame.Create(nil);
F_Frame.Name := 'Frame_' + IntToStr(i);
...
F_Frame.Parent := ScrollBox1;
end;
В один момент наступает необходимость полностью обновить состав фреймов. Для этого их необходимо сначала удалить:
for i := ScrollBox1.ControlCount - 1 downto 0 do
begin
F_Frame := TMyFrame(ScrollBox1.Controls[i]);
ScrollBox1.RemoveControl(F_Frame);
F_Frame.Free;
end;
И вот в тот момент, когда "F_Frame.Free" вываливается ошибка "неверная операция с указателем".
При этом точно известно, что F_Frame <> nil.
Подскажите, как освободить память от TFrame.