Текущий архив: 2003.06.30;
Скачать: CL | DM;
Вниз
Проблемы с Найти похожие ветки
← →
Nikky (2003-06-11 16:40) [0]Имеется программа-клиент с tSocketConnection, коннектится к аппсерверу, выполняет что нужно, и т.д.
Собственно, проблема в чем: при закрытие программы пользователем все нормально закрывается; однако при завершении работы в win2k операционка выгружает все процессы, а программу-клиент выгружать не хочет совершенно. В Application.OnMessage не приходят сообщения ни wm_close, ни wm_endsession...
← →
LordOfSilence © (2003-06-11 20:06) [1]Долго описывать не буду, так как надо уже собираться и бежать
на поезд. :-)
Как пить дать ты используешь какие-то сторонние компоненты. :-)
Посмотри их исходный код. В каком-то из них в оконной
процедуре (оно может создаваться с помощью AllocateHWnd())
забыли дописать дефолтную обработку сообщений
типа DefWindowProc( FHWnd, Msg, WParam, LParam );
или ручками не обработали твои "wm_close, ни wm_endsession."
Если в 9х это прокатывает, то NT-ядро, как я понимаю, таких
"вольностей" не прощает :-)
пример навскидку:
procedure TMyClass.CommWndProc( var msg: TMessage );
begin
case msg.msg of
PWM_GOTCOMMDATA:
begin
ReceiveData( PChar(msg.LParam), msg.WParam );
LocalFree( msg.LParam );
end;
PWM_REQUESTHANGUP:
RequestHangup;
//дальше программист компонента мог забыть:
else
with Msg do Result := DefWindowProc( FHWnd, Msg, WParam, LParam );
end;
end;
ЗЫ. Интересная тема для "Потрепаться", однако ;-)
Страницы: 1 вся ветка
Текущий архив: 2003.06.30;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.012 c