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