AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.06.2008, 09:27   #1  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Что такое класс в понятиях WinApi?
Тут прочитал книгу по WinApi, но так и ненашёл для себя ответ на этот вопрос.
Ну не слова что есть такое понятие WinApi как "класс". Есть процессы, потоки.
И вот возник ещё такой вопрос все классы в Axapt-е наследуются от Object.
Так почему тогда handle есть у Object-а, но нет у класса?
Старый 02.06.2008, 09:59   #2  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Ужос НАХ (Navision AXapta...)
Старый 02.06.2008, 10:09   #3  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Обоснуй.
Старый 02.06.2008, 10:26   #4  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Обоснование
Цитата:
Сообщение от miklenew Посмотреть сообщение
Тут прочитал книгу по WinApi, но так и ненашёл для себя ответ на этот вопрос.
"Ненашел" - пишется раздельно.
Цитата:
Сообщение от miklenew Посмотреть сообщение
Ну не словачто есть такое понятие WinApi как "класс". Есть процессы, потоки.
"НИ слова".
Цитата:
Сообщение от miklenew Посмотреть сообщение
И вот возник ещё такой вопрос все классы в Axapt-е наследуются от Object.
Так почему тогда handle есть у Object-а, но нет у класса?
Рекомендую обратить внимание на словосочетание "экземпляр (суть объект) класса"...

Последний раз редактировалось RVS; 02.06.2008 в 10:30.
Старый 02.06.2008, 10:30   #5  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Рекомендую http://www.rusforus.ru/ зря вы тут с нами с неучами.
Старый 02.06.2008, 10:37   #6  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Цитата:
Сообщение от miklenew Посмотреть сообщение
зря вы тут с нами с неучами.
Хороший принцип - говорить за себя, когда говоришь такие вещи...
Ничего личного
Старый 02.06.2008, 10:40   #7  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от RVS Посмотреть сообщение
Хороший принцип - говорить за себя, когда говоришь такие вещи...
Ничего личного
Согласен. Спасибо. Тему русского языка считаю раскрытой.
Если не возражаете поставим точку и вернёмся к теме.
Старый 02.06.2008, 10:46   #8  
egorych is offline
egorych
Участник
Самостоятельные клиенты AX
Oracle
 
761 / 154 (7) ++++++
Регистрация: 09.11.2006
Адрес: Краснодарский край
WinAPI - в общем не объектная библиотека и оперирует понятиями из структурного программирования.
По второму вопросу - прочитай в любом учебнике who is класс и объект - сразу все понятно станет.
Старый 02.06.2008, 10:50   #9  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от egorych Посмотреть сообщение
WinAPI - в общем не объектная библиотека и оперирует понятиями из структурного программирования.
А форма это что понятие структурного программирования.
Ну может это не kernel32.dll (сначало думал в ней найти то что нужно, не нашёл пока) , но какая то библиотека должна быть для этих целей.
Старый 02.06.2008, 10:55   #10  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
К теме - легко.

Задайте точнее вопрос - полУчите (с большой вероятностью) правильный ответ.

Или, может, поделитесь - что за задача у Вас?

PS: Про handle, которого "нет у класса", я вам, кстати, маякнул.

Последний раз редактировалось RVS; 02.06.2008 в 10:59.
Старый 02.06.2008, 11:02   #11  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от RVS Посмотреть сообщение
К теме - легко.
Задайте точнее вопрос - полУчите (с большой вероятностью) правильный ответ.
Или, может, поделитесь - что за задача у Вас?
Я боюсь точный вопрос вас испугает ещё больше.
Поэтому начал с терминалогии. Так легче понять где копать.
Вопросов много.
Один из вопросов. Как зная handle класса получить объект класса?
Старый 02.06.2008, 11:03   #12  
egorych is offline
egorych
Участник
Самостоятельные клиенты AX
Oracle
 
761 / 154 (7) ++++++
Регистрация: 09.11.2006
Адрес: Краснодарский край
Цитата:
Сообщение от miklenew Посмотреть сообщение
А форма это что понятие структурного программирования.
С точки зрения WinAPI - это запись во внутренней структуре - со своим номером (handle), это уже в прикладной проге как-то преобразуется в объект.
Цитата:
Сообщение от miklenew Посмотреть сообщение
Ну может это не kernel32.dll (сначало думал в ней найти то что нужно, не нашёл пока) , но какая то библиотека должна быть для этих целей.
Для каких целей ?
Старый 02.06.2008, 11:13   #13  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Цитата:
Сообщение от miklenew Посмотреть сообщение
Я боюсь точный вопрос вас испугает ещё больше.
Это вряд ли.
Цитата:
Сообщение от miklenew Посмотреть сообщение
Один из вопросов. Как зная handle класса получить объект класса?
Так. У класса не бывает handle. Handle есть у экземпляра класса.
Далее. Предположим, у вас есть handle объекта какого-то непонятного класса, структура которого (свойства, методы...) вам неизвестна.
Вопрос: что вы с ним делать-то собираетесь? Задачу уточните, плиз...
Старый 02.06.2008, 11:16   #14  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от egorych Посмотреть сообщение
С точки зрения WinAPI - это запись во внутренней структуре - со своим номером (handle), это уже в прикладной проге как-то преобразуется в объект.
Я думал может как то из класса Binary получется получить (может owner()).
Цитата:
Сообщение от egorych Посмотреть сообщение
Для каких целей ?
Не удобно пользоваться скриптами, которые в EditorsScripts.
Сначало убрал все ненужные мне скрипты оставил пять. (Просто из заголовка метода убрал Editor e внуторь метода и в списке метод исчезает).
Всё равно как то не комфортно, класно бы было в Tabax добавить на кнопки.
Класс Editor имеет один и тот же handle(65299 похоже зарезервированный).
Когда мы закрываем редактор кода и открываем новый, класс Editor перезагружается, handle остаётся тем же.
Старый 02.06.2008, 11:17   #15  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
В понятиях WinApi...там нет ничего о том, что такое класс. WinAPI это просто набор функций по работе с виндовсом и больше ничего.

С помошью WinAPI можно создать любое приложение под виндовс на любом языке программирования (ну или почти любом). Например на ассемблере - там классами никак не пахнет.
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
Старый 02.06.2008, 11:20   #16  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
Цитата:
Сообщение от miklenew Посмотреть сообщение
Класс Editor имеет один и тот же handle(65299 похоже зарезервированный).
Когда мы закрываем редактор кода и открываем новый, класс Editor перезагружается, handle остаётся тем же.
Это наверное id класса и все. Проверьте. Ничего путного из этой цифры с точки зрения винапи вы не получите.
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
Старый 02.06.2008, 11:21   #17  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Пробовал такой вариант сделать метод setEditor() в EditorScripts и сохранял Editor в классе Info (переменную добавил Editor curEditor).
И всё работает даёт правильные значения местонахождения курсора.
Но до тех пор пока я не закрую текущий редактор кода и не открою новый.
Editor исчезает.
Старый 02.06.2008, 11:29   #18  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Ох...

Я правильно понимаю, что:
- вы работаете в Axapta
- вы открываете редактор кода (в Axapta)
- вам не нравится, что надо давить на правую кнопку мыша, потом ползать по менюшке, чтобы выполнить скрипт
- вы хотите вынести вызов нужных вам скриптов на отдельно стоящие кнопки (то есть, отдельные от Аксаптиного Редактора кода)
- вы хотите, чтобы вызванный с кнопки скрипт выполнялся в том редакторе, который сейчас активен (это если открыто несколько Редакторов кода)

Это так?
Старый 02.06.2008, 11:32   #19  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от RVS Посмотреть сообщение
Я правильно понимаю, что:
- вы работаете в Axapta
- вы открываете редактор кода (в Axapta)
- вам не нравится, что надо давить на правую кнопку мыша, потом ползать по менюшке, чтобы выполнить скрипт
- вы хотите вынести вызов нужных вам скриптов на отдельно стоящие кнопки (то есть, отдельные от Аксаптиного Редактора кода)
- вы хотите, чтобы вызванный с кнопки скрипт выполнялся в том редакторе, который сейчас активен (это если открыто несколько Редакторов кода)
Это так?
На всё да.
Старый 02.06.2008, 11:45   #20  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,322 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Че-то читаю и не втыкаю. Есть параллельная тема Получение экземпляра текущего Editor в которой собсно все обсуждается.
Если у Вас не получается получить экземпляр Editor e - то сделайте просто: удалите весь EditorScripts до dis-слоя, поставьте бряку в методе showScripts (актуально только если у Вас 3-шка - в 4-ке - это другой метод) и попробуйте вызвать какой-либо скрипт как обычно - либо по Alt-M, либо по нажатию кнопки на тулбаре (только не через правую кнопку мыши!). Увидите - что Вы провалитесь в отладчик. Далее - дело техники - ведь уже экземпляр класса Editor у Вас уже есть
__________________
Возможно сделать все. Вопрос времени
Теги
winapi

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Axapta WinAPI::SewWindow... кто знает как? UNRW DAX: Программирование 2 26.09.2008 15:28
Dynamics AX Geek: Finding files with WinAPI Blog bot DAX Blogs 0 28.10.2006 16:40
WinAPI. Ссылка (POINT) третьего уровня вложенности Владимир Максимов DAX: Программирование 2 06.02.2006 16:28
WinAPI::getLastError() DreamCreator DAX: Программирование 4 20.06.2005 10:03
WinApi. Удаление файлов глючит. NJD DAX: Программирование 10 05.12.2003 13:31
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 06:52.