Реферат: Обратные вызовы в MIDAS через TSocketConnection
destructor TCallBackStub.Destroy;
var
Msg: TMSG;
begin
//Могут остаться сообщения - удаляем
while PeekMessage(Msg, FCallbackWnd, CM_CallbackMessage,
CM_CallbackMessage, PM_REMOVE) do
if Msg.wParam <> 0 then
TMsgClass(Msg.wParam).Free;
DestroyWindow(FCallbackWnd);
inherited;
end;
Разумеется, перед созданием окна нужно объявить и зарегистрировать его класс, что и сделано в секции implementation модуля. Процедура обработки сообщений окна вызывает метод OnCall интерфейса при получении сообщения CM_CallbackMessage:
var CM_CallbackMessage: Cardinal; function CallbackWndProc(Window: HWND; Message: Cardinal; wParam, lParam: Longint): Longint; stdcall; begin if Message = CM_CallbackMessage then with TCallbackStub(lParam) do begin Result := 0; try if wParam <> 0 then with TMsgClass(wParam) do begin Owner.lock; try //Непосредственный вызов интерфейса клиента К-во Просмотров: 514
Бесплатно скачать Реферат: Обратные вызовы в MIDAS через TSocketConnection
|