Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.11.26;
Скачать: [xml.tar.bz2];

Вниз

Программа не дает выключиться Windows   Найти похожие ветки 

 
Коля   (2006-11-09 18:04) [0]

После того как в событии FormCloseQuery поставил application.terminate; - программа закрывается, но Windows перестает выключаться.

Программа имеет иконку в трее, отлавливает сообщение SC_MINIMIZE и уходит в трею, может быть дело в этом? Так же на момент выключения ServerSocket слушает порт.


procedure TChatForm.WMSysCommand;
begin
if (Msg.CmdType = SC_MINIMIZE) then
ChatForm.visible:=false
else
inherited;
end;


Как с этим бороться?


 
Rouse_ ©   (2006-11-09 18:06) [1]

ServerSocket не от NetMasters случаем? Если нет, то в оконной процедуре иконки DefWindowProc вызывается?


 
Коля   (2006-11-09 18:11) [2]

ServerSocket стандартный
DefWindowProc нет, иконку убираю так:
 try
   with tray do begin
     cbSize := SizeOf(TNotifyIconData);
     Wnd := ChatForm.Handle;
     uID := 1;
   end;
   Shell_NotifyIcon(NIM_DELETE, Addr(tray));

 finally
   Application.Terminate;
 end;


 
Коля   (2006-11-09 18:14) [3]

А если убрать application.terminate из FormCloseQuery то дело на нем и повисает,  FormClose FormDestroy не происходят


 
Ketmar ©   (2006-11-09 18:50) [4]

"имеет иконку в трэе". убери её. или возьми нормальный компонент. %-)


 
Anatoly Podgoretsky ©   (2006-11-09 18:58) [5]

от NetMasters тоже стандартный


 
Ketmar ©   (2006-11-09 19:04) [6]

таки ищи гадину, которая глотает запрос на окончание сессии.


 
Коля   (2006-11-09 19:19) [7]

> таки ищи гадину, которая глотает запрос на окончание сессии.

А разьве если запрос и был проглочен, но программа завершилась, выключение винды все равно прерывается?

Есть 2 вопроса:

Как вручную обработать этот запрос?
Во первых как дебагить такую ситуацию?


 
Ketmar ©   (2006-11-09 19:53) [8]

>[7] Коля 9-Nov-2006, 19:19
>А разьве если запрос и был проглочен, но программа
>завершилась, выключение винды все равно прерывается?
не обязательно. см. справку по WM_QUERYENDSESSION.

>Есть 2 вопроса:
>Как вручную обработать этот запрос?
поймать сообщение (см. выше) -- желательно в application -- и ответить.

>Во первых как дебагить такую ситуацию?
WinSpy/WinSpector/... и смотреть, что, кому, куда и когда приходит, а также что на это отвечают.


 
Коля   (2006-11-09 19:53) [9]

Да уж.......
Выявил проблему после того как весь (весь !!!!!!) код программы стоял в фигурных скобках и когда я начял удалять с формы компоненты. Эх люблю я Делфи...

А виноваты именно NetMasters. Стоит их NMFtp который и глотает сообщение.
Причем он выключен, и программа к нему не обращается.

Как лечиться?

(Delphi 6 sp2)


 
Ketmar ©   (2006-11-09 20:12) [10]

>[9] Коля 9-Nov-2006, 19:53
>А виноваты именно NetMasters.
это известный их баг.

>Как лечиться?
путём выкидывания NM в топку и перехода на Indy/ICS/Synapse/WinSock API/etc/etc/etc.


 
Коля   (2006-11-09 20:46) [11]


> путём выкидывания NM в топку и перехода на Indy/ICS/Synapse/WinSock
> API/etc/etc/etc.

Слишком я ленив чтобы все переписывать... Но на будующее учту.

А если, не дай бог, кто нибудь еще столкнется с этой гадостью, то лечится путем добавления строчки
NMFTP1.Destroy;
в FormCloseQuery


 
Anatoly Podgoretsky ©   (2006-11-09 20:54) [12]

> Коля  (09.11.2006 20:46:11)  [11]

Ты еще ленив и справку прочитать про Destroy


 
Rouse_ ©   (2006-11-10 09:17) [13]


> DefWindowProc нет

ну тогда вот тебе и ответ - нужно ее вызывать. И есественно еще и NMFtp выкинуть.


 
RWolf ©   (2006-11-10 09:34) [14]

>[11]
Это лечится установкой Powersock последней версии. Сам недавно столкнулся с этой проблемой.


 
MetalFan ©   (2006-11-10 11:14) [15]

>[14]
кстати и indy лучше тоже иметь последней версии)



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.11.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.044 c
15-1163147318
algol
2006-11-10 11:28
2006.11.26
Размер шрифта


15-1162820991
сисадмин
2006-11-06 16:49
2006.11.26
тема: "вирь - убийца спаммеров"


2-1162462915
Megabyte
2006-11-02 13:21
2006.11.26
Вопрос проектам, использующим пакеты(packages)?


6-1151636164
Lex_!
2006-06-30 06:56
2006.11.26
Получение имени хоста по IP


15-1162983932
Jeer
2006-11-08 14:05
2006.11.26
Стенограмм Гордона.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский