Вниз
Скачать: CL | DM;

Выполнение процедуры после 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
15-1208857853
Deled
2008-04-22 13:50
2008.06.01
Аунтификация личности по отпечаткам пальцев!


2-1210436683
Werewolf-Prankster
2008-05-10 20:24
2008.06.01
Ошибка: Undeclared Identifier


15-1208759108
Vudu
2008-04-21 10:25
2008.06.01
Проблема с двухядерниками


15-1208344909
XentaAbsenta
2008-04-16 15:21
2008.06.01
Разгильдяйство и ничегонеделанье.Чат


3-1198917859
Ш-К
2007-12-29 11:44
2008.06.01
MSSQL 2005 и скрипт базы.




   Наверх