|
24.06.2008, 12:26 | #1 |
Боец
|
Цитата:
А правка системных классов - куда более опасна и напряжна с т.з. дальнейшей поддержки приложения.
X++: if( args.name() = formstr(SysEditorGotoLine)) return new () Ну а вообще, если у разработчика будут кривые руки, то тут уж "против лома нет приема..." |
|
26.06.2008, 16:48 | #2 |
Боец
|
Цитата:
Идеально было бы вообще не трогая стандартный ф-л получить Editor e.
Пропатчить клиентский файл Ax32.exe: Открыть его в HEX редакторе, найти имя формы в формате Unicode "SysEditorGotoLine" и заменить на ту что нам нужно. (только длина имени должна остаться такой же). Ещё как идея, если хватит ума, и если возможно, то же самое сделать динамически с образом этого ехe в памяти. Но стоит ли овчинка выделки... |
|
26.06.2008, 16:59 | #3 |
Участник
|
Цитата:
Сообщение от DSPIC
И так можно, если опустить моральный аспект подхода.
Пропатчить клиентский файл Ax32.exe: Открыть его в HEX редакторе, найти имя формы в формате Unicode "SysEditorGotoLine" и заменить на ту что нам нужно. (только длина имени должна остаться такой же). Ещё как идея, если хватит ума, и если возможно, то же самое сделать динамически с образом этого ехe в памяти. Но стоит ли овчинка выделки... И потом это противоречит лицензионным условиям.
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0 |
|
26.06.2008, 17:06 | #4 |
Боец
|
Цитата:
И потом это противоречит лицензионным условиям.
Цитата:
В экзашники не будет никаких форм.
|
|
03.11.2009, 13:04 | #5 |
Возьми свет!!!
|
Цитата:
все было это сделано для класса который постоянно торчит в памяти и при нажатию на нек. кнопку вставляет в код комментарий с именем пользователя и датой X++: void sendMessage() { #WinAPI int i=infolog.hWnd(); ; i = WinAPI::findWindowEx(i,0,"MDIClient",""); i = WinAPI::findWindowEx(i,0,"AxMDIChildWindow",""); i = WinAPI::findWindowEx(i,0,"AxEdTabCtrl",""); i = WinAPI::findWindowEx(i,0,"AxPaneWnd",""); WinAPI::sendMessageEx(i,#WM_SYSKEYDOWN,0x4D,0x20320001); WinAPI::sendMessageEx(i,#WM_SYSCHAR,0x6D,0x20320001); WinAPI::sendMessageEx(i,#WM_SYSKEYUP,0x4D,0xF0320001); } void sendMessageEscMessage() { #WinAPI int i=infolog.hWnd(); ; i = WinAPI::findWindowEx(i,0,"MDIClient",""); i = WinAPI::findWindowEx(i,0,"AxMDIChildWindow",""); i = WinAPI::findWindowEx(i,0,"AxEdTabCtrl",""); i = WinAPI::findWindowEx(i,0,"AxPaneWnd",""); WinAPI::sendMessageEx(i,0x7EE,0,0x00CA00E0); } infolog.globalCache.set() Последний раз редактировалось Murlin; 03.11.2009 в 13:07. |
|
|
За это сообщение автора поблагодарили: alex55 (1). |
Теги |
download, editor script, полезное, axapta |
|
|