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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.06.2006, 13:18   #11  
batiskaf_new is offline
batiskaf_new
Участник
 
39 / 19 (1) ++
Регистрация: 07.06.2006
Цитата:
Сообщение от db
Уж не знаю зачем Вам все это нужно. Может если расскажете зачем, то люди поскажут и как это реализовать.

Как уже говорилось - вставить свой код в методы системных классов нельзя. Заставить систему везде вместо инстансов FormButtonControl создавать инстансы MySuperButtonControl то же нельзя (подкрячивание exe-шников в качестве средства не рассматривается) Зато можно навесить хук на всю аксапту и обрабатывать в нем допустим все WM_CLICKED как заблагорассудится. Пишите dll c хуком например на VC++, загружаете ее и вперед с песней.

Только еще раз - а зачем все это?
Я уже писал для чего:
http://forum.mazzy.ru/index.php?showtopic=5695#

Мне нужно интегрировать в ядро Аксапта агента, который будет мне давать следующие сервисы:

1. Программа максимум - уметь подключаться к высокоуровневым сообщениям Аксапта контролов. WM_CLICKED меня не совсем устраивает, потому что я бы хотел знать точно что сделал user гридом, выбрал ячейку, выбрал строку, поменял значение ячейки, все эти вещи можно получить из нотификаций класса FormGridControl.
2. Если первое не возможно, тогда программа минимум - получить доступ к DataStructure каждого конкретного контрола. Написать хук на низкоуровневые сообщения можно, но иметь доступ к структуре данных того же грида, по которому кликают в любом случае нужно. Другими словами, мне нужно будет взять HWND из системного сообщения, подключиться к Аксапте, получить каким то образом по этому window handle ссылку на объект, который имплементирует это окно, и получить инфекс ячейки, которая была выбрана пользователем, получить содержимое ячейки, итерировать строки, столбцы, вобщем манипулировать со структурой данных. Для этих целей я думал воспользоваться СОМ, потому что вся эта информация нужна в той утилите, которая это все будет записывать в скрипте, то есть в QTP .

Если первый вариант не возможен ( в чем я лично сомневаюсь), тогда давайте обсуждать дальше только второй сценарий (программа минимум). Как мне получить через рефлексию список всех объектов типа FormGridControl, которые были созданы в системе на данный момент, далее я обойду весь список, сравню window handle и найду тот контрол, по которому кликнул пользователь, и смогу выяснить все подробности об этом объекте (допустим что проблема интерпроцесс комуникации через СОМ у меня уже решена) Или может есть возможность у какого то глобального объекта в системе спросить список всех созданных форм, пройти весь список, обойти все child controls, и найти таким образом мой грид по хеэндлу.

P.S>
Кстати, если можно поменять имплементацию SysSetupFormRun, то почему нельзя классы контролов менять, не понял?

Последний раз редактировалось batiskaf_new; 08.06.2006 в 13:26.
Теги
crm2011

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
AX UK: Advanced Demand Management for AX 2009 workshops Blog bot DAX Blogs 0 28.03.2009 01:05
AX UK: Update on Advanced Demand Management for AX 2009 Blog bot DAX Blogs 0 26.03.2009 17:05
Solutions Monkey: WSS Setup for EP - Basic or Advanced Mode ? Blog bot DAX Blogs 0 23.08.2007 05:32
axaptabuilder: How to learn Axapta programming: “MorphXIT: an introduction to Axapta and the MorphX Development Suit” Blog bot DAX Blogs 0 28.10.2006 16:47
Advanced programming: Grid data and view manipulations batiskaf_new DAX: Программирование 15 21.06.2006 11:44

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

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

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