|  20.02.2007, 13:01 | #1 | 
| MCTS | Получение экземпляра текущего Editor 
			
			Можно ли программно (из кода Аксапты) получить экземпляр текущего Editor (окна с кодом)? Задача состоит в выполнении с Editor некоторых действий (посредством AxGoToDeclaration) при нажатии UserDefined кнопки в Tabax. Axapta 3.0 sp4 | 
|  | 
|  20.02.2007, 13:13 | #2 | 
| MCTS | 
			
			вот какую идею мне подал Alex_KD, за что ему огромное спасибо Цитата: Сообщение от Eldar9x Подскажите, пожалуйста, каким образом вы получали Handle окна редактора кода Посмотрите в Spy структуру окошек в Аксапте. А дальше FindWindowEx(...); | 
|  | 
|  20.02.2007, 14:41 | #3 | 
| MCTS | Цитата: Но вот что не совсем понятно - если я даже определю Handle окна с кодом - как это поможет объект типа Editor получить...? | 
|  | 
|  20.02.2007, 14:47 | #4 | 
| Участник | 
			
			По таймеру смотрите активное окно. (В принципе ActiveX для этого врядли нужен. Думаю Аксаптой можно обойтись. - это я про вторую тему по этому поводу) Если это окно редактора, то посылайте ему команды для вызова EditorScripts. (конкретного скрипта, в котором написан ваш код для запоминания объекта Editor туда, куда вам нужно). А что хотите сделать такого, если не секрет? | 
|  | 
|  20.02.2007, 15:08 | #5 | 
| MCTS | Цитата: Цитата: 
		
			А что хотите сделать такого, если не секрет?
		
	 | 
|  | 
|  20.02.2007, 16:33 | #6 | 
| Участник | Цитата: 
		
			То есть через sendMessage по данному хэндлу смоделировать нажатие ALT-M и выбор меню?
		
	 | 
|  | 
|  21.02.2007, 11:47 | #7 | 
| MCTS | Цитата: 
		
			 По findWindowEx нашел один топик Панель задач в Аксапте.
		
	 | 
|  | 
|  21.02.2007, 11:54 | #8 | 
| MCTS | 
			
			to Alex_KD: было бы прикольно, если бы привел сам код получения этого самого editorа причем текущего, то есть того в котором мы щас кодим, нужен его handle
		 | 
|  | 
|  21.02.2007, 13:07 | #9 | 
| MCTS | 
			
			Ок, посмотрю. Я думал, что может есть более "прямой" путь получения Editor методами Аксапты... Что-нибудь типа GetCurrentEditor()   Видимо нету, но возможно предлагаемый способ не сильно хуже. Заодно сделал кнопку для "возврата" на первоначальные место в коде, откуда поиск через AxGoToDeclaration был инициирован - очень удобно. Принцип такой же как в AxGoToDeclaration - сохраняем параметры [e.path(), e.currentLineNo()+1, e.columnNo()+1] через infolog.globalCache().set() в момент вызова скрипта. А для отображения используем метод, аналогичный AxGoToDeclaration.goEditTreeNode(). | 
|  | 
|  21.02.2007, 13:14 | #10 | 
| MCTS | 
			
			вот вот, я о том же, в смысле нужна такая функция, так что ждем ответа
		 | 
|  | 
|  21.02.2007, 13:16 | #11 | 
| Участник | 
			
			Как закончите с получением editor и примените для того, чего хотели, можно будет получить код(проект) по почте? (чтобы дополнить проект на axaptapedia)
		 | 
|  | 
|  21.02.2007, 13:20 | #12 | 
| MCTS |  да ради бога | 
|  | 
|  21.02.2007, 13:22 | #13 | 
| Участник | 
			
			2 Eldar9x:  Вообще я адрессовал сообщение alex55. А вы тоже параллельно работаете над этим? | 
|  | 
|  21.02.2007, 13:34 | #14 | 
| MCTS | 
			
			нет, у меня немного другая задача, но для ее решения все равно необходим handle текущего editora
		 | 
|  | 
|  22.02.2007, 11:39 | #15 | 
| Участник | 
			
			Пример получения едитора можно посмотреть в этом проекте. После распаковке запустите reg.bat (зегистрация компонента). Далее - экспорт проекта AxEditor.xpo Проект EditorScripts.xpo - содержит класс EditorScripts с измененной функцией showScripts (там идет запись Editor e). Переносить нужно только ее. Далее в Аксе запустить форму AXEditorToolBar, в едиторе появится дополнительные кнопки на тулбаре - коментарить/раскоментарить. Думаю по аналогии разобратся в получении Editor e не составит труда. | 
|  | |
| За это сообщение автора поблагодарили: Мариночка (1), Eldar9x (1). | |
|  22.02.2007, 11:49 | #16 | 
| MCTS | 
			
			Шикарно, спасибо, то что надо!
		 | 
|  | 
|  22.02.2007, 14:32 | #17 | 
| MCTS | |
|  | |
| За это сообщение автора поблагодарили: kashperuk (5). | |
|  30.05.2008, 14:02 | #18 | 
| Участник | |
|  | 
|  30.05.2008, 15:04 | #19 | 
| Участник | 
			
			Ух. Поставьте Ассист, посмотрите как там сделано. Почитайте инсталляцию внимательно. Смотрите картинки - должно выглядеть примерно так(для 4ки). 
				__________________ AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0 | 
|  | 
|  30.05.2008, 15:37 | #20 | 
| Участник | Цитата: 
		
			Сообщение от Alex_KD
			   Ух. Поставьте Ассист, посмотрите как там сделано. | 
|  | 
| Теги | 
| download, editor script, полезное, axapta | 
|  | 
| 
 |