![]() |
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]() ![]() ![]() |
|
heskey |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 3.12.2004 Репутация: нет Всего: нет |
SendMessage(ShareInf^.AppWndHandle, WM_USER, ParamW, Code);
если я посылаю сообщение из библиотеки главному приложению, как мне использовать эту функцию и какой параметр должен быть? всегда ли WM_USER..или это зависит от типа хука? И как потом обработать его в приложении..Расскажите пожалуйста, и если можно пример какой - нибудь. ![]() |
|||
|
||||
Song |
|
|||
![]() Sysman.ru ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1095 Регистрация: 2.6.2002 Репутация: нет Всего: 4 |
Чтобы приложения могли обмениваться кустарными сообщениями, их надо зарегистрировать через RegisterWindowMessage
Добавлено @ 08:30 Если нужно передать что-то, то можно просто воспользоваться WM_COPYDATA -------------------- Прежде чем сказать "Невозможно", подумай, прав ли ты |
|||
|
||||
heskey |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 3.12.2004 Репутация: нет Всего: нет |
Не совсем..мне просто нужно из библиотеки вернуться к основному приложению, для этого я и хочу послать сообщение, что б затем обработать его в гланой программе.
|
|||
|
||||
ФЫГ |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 29.7.2005 Где: украйна Репутация: 1 Всего: 1 |
В библиотеке: SendMessage(MainAppHWnd,WM_YOURMESSAGE{>=WM_USER},wParam,lParam);
В приложении: interface ... type YourForm=class(TYourForm)...private...procedure OnWM_YOURMESSAGE(var Message: TMessage); message WM_YOURMESSAGE; жмёшь Ктрл+Шифт+Ц и в новоиспечённой процедуре пишешь обработку сообщения WM_YOURMESSAGE (все параметры в передаваемой структуре) |
|||
|
||||
heskey |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 3.12.2004 Репутация: нет Всего: нет |
спасибо большое за помощь. Все получилось! Я послал из библиотеки сообщение
и обработал его вот так:
.... App := CreateOleObject("excel.application"); ... выскакивает следующая ошибка "Не удается выполнить исходящий вызов, так как приложение обрабатывает входящий синхронный вызов" в чем я неправ? что делать? Это сообщение отредактировал(а) Girder - 5.8.2005, 12:19 |
||||
|
|||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 13 Всего: 146 |
Мож попытаться вынести reportdate из Procedure TForm1.WMUser(var Message: TMessage);
и выполнять гдет в другой процедуре ![]() -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |