AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.07.2010, 10:53   #1  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Перехват событий на форме DAX 2009
Всем привет!

Стоит задача по подключению внешней OLE компоненты, которая передает данные, генерируя событие WM_COPYDATA

Стал думать, как перехватить. Поднял старые темы, в большинстве которых сам же объяснял, что это невозможно. Однако, в классе FormRun нашел интересный метод:installMessageProc
X++:
public int installMessageProc(int message, int handle, str method)
Без описания, но, в общем, понятно все и так: Событие, Дескриптор окна, Метод. Метод тоже должен быть задан в особом формате:
X++:
void CallbackMethod(int hwnd, int message, int wParam, int lParam, int px, int py)
Проверил - действительно, работает! Создал тестовую форму, в ининте - указал несколько событий, на которые надо реагировать, и два дескриптора: один - на саму форму, второй - на контрол типа Window. А вот потом начинается самое интересное - события она перехватывает, но не все. KEY_DOWN - точно перехватывает.

Стал проверять. А как? Создал клавишу, которая посылает события, используя WinAPI::SendMessage, и, как ни странно, ни на одно из событий даже сама форма - не реагирует. Даже когда посылаешь WM_CLOSE.

Какие будут идеи:
1. Как сгенерировать событие
2. Как сделать так, что бы installMessageProc его перехватил.

Попробуем решить задачу 2003 года?

Форму для проведения экспериментов прилагаю.

Георгий
Вложения
Тип файла: xpo Form_ITB_SendMessageTest.xpo (5.8 Кб, 512 просмотров)
За это сообщение автора поблагодарили: mazzy (2), blokva (1), shogel (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
DAX 2009 некорректный SPID в форме активных пользователей Logger DAX: Программирование 2 05.07.2010 17:19
emeadaxsupport: List of fixes that improve performance of certain features in Dynamics AX 2009 Blog bot DAX Blogs 0 13.10.2009 19:06
msdynamicsax: DAX 2009 and MS SQL 2008 Blog bot DAX Blogs 0 09.08.2008 14:05
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05
msdynamicsax: Enterprise Portal development in DAX 2009 Blog bot DAX Blogs 0 18.04.2008 07:06

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 02:33.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.