Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не удается выполнить исходящий вызов...


grigory ©   (2005-08-04 15:56:00) 

Привет всем. Есть длл..из нее посылаю сообщение главному приложению:

function SysMsgProc(Code: Integer; WParam: WPARAM; LParam: LPARAM): LRESULT; stdcall;
begin
  ....
  SendMessage(appwnd,WM_USER,wParam,lParam);
  ....
end;

и обработал его вот так:

Procedure TForm1.WMUser(var Message: TMessage);
Begin
 showmessage('сообщение!');
 removehook;
 reportdate;
End;


а в процедуре reportdate на строчке
....
App := CreateOleObject("excel.application");
...


выскакивает следующая ошибка "Не удается выполнить исходящий вызов, так как приложение обрабатывает входящий синхронный вызов"

в чем я неправ? что делать?


Digitman   (2005-08-04 16:27:00) [1]

removehook выгружает образ хук-модуля из АП процессов, куда хук-модуль был внедрен в рез-те установки хука

некий экз-р хук-модуля в некоем процессе (в дан.случае - excel-процессе) вызвал sendmessage() и ждет результата этого вызова ... результат же определяется обработчикомпринятого адресатом сообщения, который у тебя вместо возврата рез-та пытается выгрузить из АП процесса-передатчика сообщения сам код ф-ции SendMessage() (работающей в дан.момент)

как думаешь - нонсенс ?


clickmaker   (2005-08-04 16:17:00) [2]

SendMessage - синхронная процедура
используй PostMessage


Наверх

Титульная страница Поиск, карта сайта Написать письмо