Форум: "Основная";
Текущий архив: 2011.10.09;
Скачать: [xml.tar.bz2];
ВнизНе срабатываю методы OnClose и OnCloseQuery Найти похожие ветки
← →
RU-mata © (2010-03-14 18:41) [0]Такая проблема:
Не срабатывают методы OnClose и OnCloseQuery
при закрытие формы через панель задач
(правый клик на вкладке программы в панели задач,
пунки "Х Закрыть Alt+F4" )
При стандартном заыкрытии формы
(клик на Х в правом верхнем углу формы
или Alt-F4) методы OnClose и OnCloseQuery срабатывают как положено.
Подскажите в чём может быть дело.
Спасибо.
← →
Fenik © (2010-03-14 22:28) [1]Ищи у себя ошибку. Всё работает.
← →
Fenik © (2010-03-14 22:30) [2]> Всё работает.
D7, WinXP SP3.
← →
Rouse_ © (2010-03-15 00:00) [3]
> Не срабатывают методы OnClose и OnCloseQuery
> при закрытие формы через панель задач
Телепатически вижу что панель задач - это диспетчер процессов (Task Manager) на закладке Процессы (Processes). Если я правильно прочитал вводную, то, при терминировании процесса, OnCloseQuery стесняется выполняться.
← →
Rouse_ © (2010-03-15 00:02) [4]ЗЫ: проверил, Alt+А4 сработал в обоих случаях...
← →
Германн © (2010-03-15 01:36) [5]
> при терминировании процесса, OnCloseQuery стесняется выполняться.
>
> <Цитата
Какое там стесняется! Процессу и "пикнуть не дозволяется". :)
← →
evvcom © (2010-03-18 17:51) [6]
> Процессу и "пикнуть не дозволяется". :)
Ну это если он повис, то да :)
← →
Rouse_ © (2010-03-18 18:17) [7]
> evvcom © (18.03.10 17:51) [6]
>
>
> > Процессу и "пикнуть не дозволяется". :)
>
> Ну это если он повис, то да :)
При терминировании это монопенисюально - висит он или нет :)
← →
Германн © (2010-03-19 02:51) [8]
> Rouse_ © (18.03.10 18:17) [7]
>
>
> > evvcom © (18.03.10 17:51) [6]
> >
> >
> > > Процессу и "пикнуть не дозволяется". :)
> >
> > Ну это если он повис, то да :)
>
> При терминировании это монопенисюально - висит он или нет
> :)
>
Хорошо звучит.
Но вот Саш. Что делать если он "висит"? И диспетчер задач не может его "убить"?
Это не вирус, не "зловредная программа".
Это, блин, программа работающая с СОМ-портом. В синхронном режиме. А значит с доппотоками.
← →
Вариант (2010-03-19 06:59) [9]
> Германн © (19.03.10 02:51) [8]
> Это, блин, программа работающая с СОМ-портом. В синхронном
> режиме. А значит с доппотоками.
1) Работать асинхронно
или
2) Выставить разумные тайм-ауты
Первый метод работает в любом случае, проблем с "висит" нет.
Второй возможно (не проверял) все равно будет иметь проблемы при использовании WaitCommEvent(если таковой вызов есть),
но ReadFile и WriteFile при наступлении тайм-аутов вернут управление .
← →
evvcom © (2010-03-19 10:41) [10]
> При терминировании это монопенисюально - висит он или нет :)
При терминировании согласен - моно :)
Только, по-моему, диспетчер задач не применяет сразу терминирование, а пытается все-таки закрыть процесс корректно, и только если процесс не хочет по-доброму, тогда только идет на крайние меры, получив согласие от пользователя.
← →
Rouse_ © (2010-03-19 11:16) [11]
> Только, по-моему, диспетчер задач не применяет сразу терминирование,
> а пытается все-таки закрыть процесс корректно
Это если снимать с закладки "приложения", я обычно работаю из закладки "процессы" :)
← →
evvcom © (2010-03-19 11:54) [12]Сань, ну ты крут! :)))
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2011.10.09;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.003 c