Форум: "Основная";
Текущий архив: 2003.04.21;
Скачать: [xml.tar.bz2];
Вниз
Как правильно удалить форму, созданую другой формой ? Найти похожие ветки
← →
vi7777 (2003-04-10 22:08) [0]С главной формы создаем много форм по очереди.
Т.е. создаем, в созданной форме выполняется продура, закрываем, потом опять.........
with TAutoForm.Create(Application) do
begin
Caption := "New";
end;
А в созданной форме на событие onClose стоит
Form := nil;
Form.Free;
Вроде бы все работает нормально, но сильно жрется память, после 400 - 500 таких манипуляций съедается 50 - 60 Мб памяти. Как сделать чтобы память освобождалась при закрытии каждой созданной формы ?
И главная и создаваемые формы - normal.
← →
Юрий Зотов (2003-04-10 23:08) [1]> А в созданной форме на событие onClose стоит
> Form := nil;
> Form.Free;
Это почти то же самое, что написать Nil.Free. Метод Free проверяет ссылку, видит, что она NIL и тихо завершается - без всяких Exception"ов, но и ничего не освоюождая. Вот отсюда и идут Ваши утечки памяти.
Выбросьте переменную Form совсем (дабы не было соблазна использовать глобальные ссылки), а в TAutoForm.OnClose напишите
Action := caFree;
И все.
← →
vi7777 (2003-04-11 00:48) [2]Болшое спасибо за совет )
Так работает, память освобождается ) Но в таком случае возникает другая проблема - более сложная, на мой взгляд ! Сама программа представляет из себя сабмитер. Т.е. есть главная форма и на ней создаются формы(в данном случае автосабмит).
На форме TWebBrowser. При создании формы в WB открывается страничка, после загрузки заполняются поля, нажимается кнопка Submit, затем получаем ответ, сохраняем в файл результат сабмита и закрываем форму, т.е. уничтожаем. Затем создается новая и т.д.
Так вот если сразу после оздания формы ее закрыть или оборвется соединение с интернетом, то будут вылетать окна эксплорера с урлом сабмит странички пока не закроешь саму программу или пока комп не повиснет ) Что это может быть подскажите, плиииз )
и что интересно, если nil, то не вылетают окна, а если caFree, то вылетают !
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.04.21;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c