![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| E_v_g |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 15.11.2006 Репутация: нет Всего: нет |
При выключении компьютера завершаются все программы, а моя программа становится активной и комп не вырубается. При закрытии программы пользователем или при завершении работы ОС она должна сохранить настройки. Как это корректно реализовать?
|
||||
|
|||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 16 Всего: 128 |
настройки чтоли долго сохраняются?
-------------------- There are always someone smarter than you... |
|||
|
||||
| E_v_g |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 15.11.2006 Репутация: нет Всего: нет |
Неа, быстро сохраняются. Короче, я ее победил - поставил Halt в каждом обработчике и все заработало как надо. Вроде бы...
|
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 16 Всего: 128 |
сохраняй настройки в OnDestroy главной формы
-------------------- There are always someone smarter than you... |
|||
|
||||
| E_v_g |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 15.11.2006 Репутация: нет Всего: нет |
Пробовал - при первой попытке выйти из Windows программа гаснет, Windows не завершается, требуется вторая попытка.
|
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 16 Всего: 128 |
ерунда какаято.
что происходит во время сохранения опций? -------------------- There are always someone smarter than you... |
|||
|
||||
| E_v_g |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 15.11.2006 Репутация: нет Всего: нет |
Вот сохранение:
Кроме того, на форме есть WebBrowser и штук 5 Timer-ов, может, в них дело? |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 16 Всего: 128 |
корявенько, но вроде без криминала...
таймеры... может их вырубить стоит в CloseQuery? -------------------- There are always someone smarter than you... |
|||
|
||||
| EvilsInterrupt |
|
|||
|
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: 1 Всего: 9 |
MetalFan, не может, а нужно!
|
|||
|
||||
| E_v_g |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 15.11.2006 Репутация: нет Всего: нет |
Убрал все это:
Переписал завершение в OnDestroy:
Теперь при завершении винды программа не гаснет, винда, соответственно, не завершается. Плюс к тому же не сохраняются настройки, то есть событие OnDestoy не происходит. Хотя при ручном закрытии формы сохранение работает. Таймеры все убил Это сообщение отредактировал(а) E_v_g - 31.1.2008, 05:49 |
||||
|
|||||
| E_v_g |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 15.11.2006 Репутация: нет Всего: нет |
||||
|
||||
| simsmann |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 75 Регистрация: 26.11.2006 Репутация: нет Всего: нет |
Вопрос поставлен давно, но до сих пор на него нет ответа!!!
Этот вопрос ставился на многих форумах, есть статьи но ничего не дает результата!!! Вот некоторые ссылки http://valler.narod.ru/master/ShutDown.html http://www.delphikingdom.com/asp/answer.asp?IDAnswer=57161 http://delphiworld.narod.ru/_app_.html В том числе и на этом форуме вот тема поднималась в общих вопросах http://forum.vingrad.ru/forum/topic-70589.html#st_0_view_0 Как правило трудности у тех программ которые помещают икону в систем трей. Обработка WMQueryEndSession и WMEndSession ничего не дает, если даже программа на выходе ничего не сохраняет, все равно программа выгружается если обработать WMQueryEndSession и WMEndSession, а винда затормозилась и продолжает работать какбудто команды на выключение не было. Кто решил данную проблема ОТКЛИКНИТЕСЬ!!! |
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 7 Всего: 158 |
||||
|
||||
| simsmann |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 75 Регистрация: 26.11.2006 Репутация: нет Всего: нет |
dump не надо грязи!
E v q четко поставил вопрос. Внимательно изучи вопрос потом давай советы. E v q представил код
Message.Result := 1; это тоже самое, что и TRUE
Кстати 0 в WMEndSession запрещает завершение Виндов, точнее говорит о том, что прога не готова к завершению. WMQueryEndSession отличается от WMEndSession только тем, что это первое и второе опевещение программ о завершении Виндов.
А такой вопрос!!! Винда не завершается, как правило если вы помещаете икону программы в систем трей, там где часы и убираете отображение кнопки программы на панели задач. Причем не важно используете вы компоненты для этой цели (опробовал несколько) или своими ручками помещаете икону в систем трей. И ставьте хоть сто раз в обработчиках WMEndSession и WMQueryEndSession :=TRUE или целое значение отличное от нуля, это значение тоже дает ОС сообщение, что программа готова к завершению Виндов (0 запрещает выгрузку ОС говоря, что окно не готово закрыться) Самое интересное то, что при исследовании выяснилось, что ВИНДА второй раз(вначале опрашивается WMQueryEndSession, а потом если окна не готовы второй раз WMEndSession) не посылает сообщение. И проблема здесь наверно в том, что программа при помещении значка в систем трей сидит именно в процессах. Закрытие программы методом Close, Application.Terminate и выставление TRUE ничего не дает в обработчике WMQueryEndSession программа выгружается, а ВИНДА прекращает и WMEndSession не вызывается. Если все поставить в WMEndSession или туда и сюда тоже самое. Прошерстил все форумы, данный ворос встречается часто, но ответа НЕТ! Но слава БОГУ! и Винграду на котором всетаки нарисовался ответ. смотрите мой ответ по аналогичному вопросу, но в разделе общие вопросы. Вот ссылка: http://forum.vingrad.ru/forum/topic-70589/...1417174/15.html |
||||||
|
|||||||
| MetalFan |
|
||||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 16 Всего: 128 |
неправда!
-------------------- There are always someone smarter than you... |
||||
|
|||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |