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