Форум: "Начинающим";
Текущий архив: 2008.06.01;
Скачать: [xml.tar.bz2];
ВнизВыполнение процедуры после Form.Close Найти похожие ветки
← →
AntonT (2008-05-11 20:07) [0]У некоторых программистов есть поговорка: "Работает - значит правильно". Но я рисковать не хочу, чтобы потом увитеть ошибку на какой-нибудь рабочей станции.
Ситуация следующая: при нажатии на кнопку сначала выполняется Form2.Close, а затем procedure xxx. Всё работает,... Но это не поддаётся здравому смыслу - как может выполнить процедуру уже закрытая форма?
← →
Leonid Troyanovsky © (2008-05-11 20:28) [1]
> AntonT (11.05.08 20:07)
> это не поддаётся здравому смыслу - как может выполнить процедуру
> уже закрытая форма?
Не главная (автосоздаваемая) форма при Close просто прячется.
Да и Close - это еще не конец жизни, вот после Destroy -
проблемы возможны.
--
Regards, LVT.
← →
AntonT (2008-05-11 20:34) [2]А скажите тогда (НЕ для данного случая),
как тогда "совсем" закрыть форму? Т.е. чтобы она не висела в памяти, особенно, елси на форме ADOQuery с подключенными к ним DBGrid-ами!?
← →
Leonid Troyanovsky © (2008-05-11 20:58) [3]
> AntonT (11.05.08 20:34) [2]
> как тогда "совсем" закрыть форму?
Как и для всех объектов - Free.
Для немодальных же форм читай про OnClose & caFree.
--
Regards, LVT.
← →
Anatoly Podgoretsky © (2008-05-11 21:14) [4]> AntonT (11.05.2008 20:34:02) [2]
Free
← →
SergeyIT (2008-05-12 00:28) [5]А разве не Release?
← →
DrPass © (2008-05-12 00:34) [6]
> SergeyIT (12.05.08 00:28) [5]
> А разве не Release?
Нет. Release просто кидает форме в очередь сообщение WM_CLOSE.
← →
Германн © (2008-05-12 01:44) [7]
> SergeyIT (12.05.08 00:28) [5]
>
> А разве не Release?
>
Нет. Если только команда на уничтожение не даётся из одного из обработчиков самой формы или её компонентов.
> DrPass © (12.05.08 00:34) [6]
>
>
Если верить справке, то в очередь "кидается" CM_RELEASE.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.06.01;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.046 c