|  02.06.2008, 09:27 | #1 | 
| Участник | Что такое класс в понятиях WinApi? 
			
			Тут прочитал книгу по WinApi, но так и ненашёл для себя ответ на этот вопрос. Ну не слова что есть такое понятие WinApi как "класс". Есть процессы, потоки. И вот возник ещё такой вопрос все классы в Axapt-е наследуются от Object. Так почему тогда handle есть у Object-а, но нет у класса? | 
|  | 
|  02.06.2008, 09:59 | #2 | 
| Сенбернар | 
			
			Ужос НАХ (Navision AXapta...)
		 | 
|  | 
|  02.06.2008, 10:09 | #3 | 
| Участник | 
			
			Обоснуй.
		 | 
|  | 
|  02.06.2008, 10:26 | #4 | 
| Сенбернар | Обоснование Цитата: Цитата: Рекомендую обратить внимание на словосочетание "экземпляр (суть объект) класса"... Последний раз редактировалось RVS; 02.06.2008 в 10:30. | 
|  | 
|  02.06.2008, 10:30 | #5 | 
| Участник | 
			
			Рекомендую http://www.rusforus.ru/ зря вы тут с нами с неучами.   | 
|  | 
|  02.06.2008, 10:37 | #6 | 
| Сенбернар | |
|  | 
|  02.06.2008, 10:40 | #7 | 
| Участник | |
|  | 
|  02.06.2008, 10:46 | #8 | 
| Участник | 
			
			WinAPI - в общем не объектная библиотека и оперирует понятиями из структурного программирования. По второму вопросу - прочитай в любом учебнике who is класс и объект - сразу все понятно станет. | 
|  | 
|  02.06.2008, 10:50 | #9 | 
| Участник | Цитата: Ну может это не kernel32.dll (сначало думал в ней найти то что нужно, не нашёл пока) , но какая то библиотека должна быть для этих целей. | 
|  | 
|  02.06.2008, 10:55 | #10 | 
| Сенбернар | 
			
			К теме - легко. Задайте точнее вопрос - полУчите (с большой вероятностью) правильный ответ. Или, может, поделитесь - что за задача у Вас? PS: Про handle, которого "нет у класса", я вам, кстати, маякнул. Последний раз редактировалось RVS; 02.06.2008 в 10:59. | 
|  | 
|  02.06.2008, 11:02 | #11 | 
| Участник | Цитата: Поэтому начал с терминалогии. Так легче понять где копать. Вопросов много. Один из вопросов. Как зная handle класса получить объект класса? | 
|  | 
|  02.06.2008, 11:03 | #12 | 
| Участник | 
			
			С точки зрения WinAPI - это запись во внутренней структуре - со своим номером (handle), это уже в прикладной проге как-то преобразуется в объект. Для каких целей ? | 
|  | 
|  02.06.2008, 11:13 | #13 | 
| Сенбернар | 
			
			 Это вряд ли. Так. У класса не бывает handle. Handle есть у экземпляра класса. Далее. Предположим, у вас есть handle объекта какого-то непонятного класса, структура которого (свойства, методы...) вам неизвестна. Вопрос: что вы с ним делать-то собираетесь? Задачу уточните, плиз... | 
|  | 
|  02.06.2008, 11:16 | #14 | 
| Участник | Цитата: Не удобно пользоваться скриптами, которые в EditorsScripts. Сначало убрал все ненужные мне скрипты оставил пять. (Просто из заголовка метода убрал Editor e внуторь метода и в списке метод исчезает). Всё равно как то не комфортно, класно бы было в Tabax добавить на кнопки. Класс Editor имеет один и тот же handle(65299 похоже зарезервированный). Когда мы закрываем редактор кода и открываем новый, класс Editor перезагружается, handle остаётся тем же. | 
|  | 
|  02.06.2008, 11:17 | #15 | 
| Участник | 
			
			В понятиях WinApi...там нет ничего о том, что такое класс. WinAPI это просто набор функций по работе с виндовсом и больше ничего. С помошью WinAPI можно создать любое приложение под виндовс на любом языке программирования (ну или почти любом). Например на ассемблере - там классами никак не пахнет. 
				__________________ AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0 | 
|  | 
|  02.06.2008, 11:20 | #16 | 
| Участник | 
			
			Это наверное id класса и все. Проверьте. Ничего путного из этой цифры с точки зрения винапи вы не получите.
		 
				__________________ AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0 | 
|  | 
|  02.06.2008, 11:21 | #17 | 
| Участник | 
			
			Пробовал такой вариант сделать метод setEditor() в EditorScripts и сохранял Editor в классе Info (переменную добавил Editor curEditor). И всё работает даёт правильные значения местонахождения курсора. Но до тех пор пока я не закрую текущий редактор кода и не открою новый. Editor исчезает. | 
|  | 
|  02.06.2008, 11:29 | #18 | 
| Сенбернар | 
			
			Ох... Я правильно понимаю, что: - вы работаете в Axapta - вы открываете редактор кода (в Axapta) - вам не нравится, что надо давить на правую кнопку мыша, потом ползать по менюшке, чтобы выполнить скрипт - вы хотите вынести вызов нужных вам скриптов на отдельно стоящие кнопки (то есть, отдельные от Аксаптиного Редактора кода) - вы хотите, чтобы вызванный с кнопки скрипт выполнялся в том редакторе, который сейчас активен (это если открыто несколько Редакторов кода) Это так? | 
|  | 
|  02.06.2008, 11:32 | #19 | 
| Участник | Цитата: 
		
			Сообщение от RVS
			   Я правильно понимаю, что: - вы работаете в Axapta - вы открываете редактор кода (в Axapta) - вам не нравится, что надо давить на правую кнопку мыша, потом ползать по менюшке, чтобы выполнить скрипт - вы хотите вынести вызов нужных вам скриптов на отдельно стоящие кнопки (то есть, отдельные от Аксаптиного Редактора кода) - вы хотите, чтобы вызванный с кнопки скрипт выполнялся в том редакторе, который сейчас активен (это если открыто несколько Редакторов кода) Это так? | 
|  | 
|  02.06.2008, 11:45 | #20 | 
| Administrator | 
			
			Че-то читаю и не втыкаю. Есть параллельная тема Получение экземпляра текущего Editor в которой собсно все обсуждается. Если у Вас не получается получить экземпляр Editor e - то сделайте просто: удалите весь EditorScripts до dis-слоя, поставьте бряку в методе showScripts (актуально только если у Вас 3-шка - в 4-ке - это другой метод) и попробуйте вызвать какой-либо скрипт как обычно - либо по Alt-M, либо по нажатию кнопки на тулбаре (только не через правую кнопку мыши!). Увидите - что Вы провалитесь в отладчик. Далее - дело техники - ведь уже экземпляр класса Editor у Вас уже есть 
				__________________ Возможно сделать все. Вопрос времени | 
|  |