на главнуюВсе эхи RU.CBUILDER
войти ?

Re: глючу

От alexander koryagin (2:5020/400) к alexander koryagin

В ответ на Заголовок предыдущего сообщения в треде (Имя Автора)


From: "alexander koryagin" <koryagin@erec.ru>

Привет! How are you?

ak> Hарод, подскажите как програмно закрыть висящий (созданый в _design
ak> time_) TOpenDialog (ну если допустим юзер забыл это сделать)? Одна
ak> программа должна закрываться по приходящему событию. Hо если этот
ak> диалог забыли закрыть (ничего не выбрали), то прога подвисает (и таким
ak> образом влияет на закрытие других программ, которые ждут ее закрытия).

ak> ;=)

Hашел где был затык. Я закрывал диалог в Close командой:

if(open_dialog->Handle)
SendMessage(GetParent(open_dialog->Handle), WM_SYSCOMMAND, SC_CLOSE, 0);

Однако при использовании этого метода есть неприятная специфика.
Вышеупомянутая конструкция выполненная в Close приводит к нестандартному
завершению работы Close и ее нужно вызывать второй раз. Т.е. диалог
TOpenDialog закрывается, а вот сама прога нет. В моем случае закрытие
инициировалось цикле таймера, а в Close я таймер деактивировал. В результате
я не попадал в Close второй раз. И прога как ни чем не бывало висела. ;-)

Фуй, вот такие пироги.

[...]
Bye alexander!
Alexander
fido7.ru.cbuilder 2009


--- ifmail v.2.15dev5.4
* Origin: Demos online service (2:5020/400)

Ответы на это письмо:

From: Username
Заголовок следующего сообщения в треде может быть длинным и его придется перенести на новую строку

From: Username
Или коротким

FGHI-url этого письма: area://RU.CBUILDER?msgid=<1187339086@ddt.demos.su>+babe6f73