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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 31.10.2006, 20:05   #1  
etc is offline
etc
Участник
 
9 / 10 (1) +
Регистрация: 31.10.2006
явное объявление контрола
хочу обратиться к контролу формы с явным объявлением (Autodeclaration=No), например, изменить свойство visible, задействую для этого класс FormStringControl, объявляю и инициализирую объект этого класса... система ругается, что Объект object не имеет метода visible. Что делаю не так? Или всё не так ? )
Старый 31.10.2006, 21:17   #2  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
element.control(control::MyStringEdit).visible(true);
Старый 01.11.2006, 10:36   #3  
etc is offline
etc
Участник
 
9 / 10 (1) +
Регистрация: 31.10.2006
метод контрол - он создает новый экземпляр контрола?
Старый 01.11.2006, 10:46   #4  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,275 / 3476 (122) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Обращается к уже объявленному и проинициализированному экземпляру контрола (т.е. к существующему контролу)
__________________
Возможно сделать все. Вопрос времени
Старый 01.11.2006, 13:45   #5  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
про создание контролов (к сожалению, аксаптапедия в дауне)
Старый 01.11.2006, 13:59   #6  
etc is offline
etc
Участник
 
9 / 10 (1) +
Регистрация: 31.10.2006
как же к уже объявленному, если у меня стоит Autodeclaration=No, вот это и не совсем понятно - когда же он объявляется и инициализируется. Сорри, что глупый вопрос (.
Старый 01.11.2006, 14:09   #7  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
он не объявляется. Просто его имя добавляется в виртуальный локальный BaseEnum
control. Инициализируется аксаптой при загрузке формы. Если autodeclaration - то всё то же самое, только он еще и считается объявленной как поле класса формы
Старый 01.11.2006, 15:18   #8  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
Максим, а по подробнее про класс и виртуальный BaseEnum.
Думаю многим было бы интересно услышать.
Старый 01.11.2006, 15:45   #9  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
1. Внутри формы живет baseenum с видимостью внутри этой формы под названием Control. Названия его членов совпадают с Name контролов, а значения с их id

то есть control::MyStringEdit - это id контрола с именем MyStringEdit

2. Форме соответствует "почти класс". если Autodeclaration то с контролом можно работать как с полем класса
Старый 01.11.2006, 15:50   #10  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
Насчет BaseEnum.
typeof() возвращает для этих идентификатора тип Integer, а не Enum. При сохранении в контейнер так же сохраняется в виде Integer. Напомню, что enum, помимо значения, хранит также свой id.
Получается, что это именованные целочисленные константы с хитрым правилом организации имен
__________________
Axapta v.3.0 sp5 kr2
Старый 01.11.2006, 15:54   #11  
etc is offline
etc
Участник
 
9 / 10 (1) +
Регистрация: 31.10.2006
да, не так все просто. А что вообще происходит, когда мы добавляем контрол визуально - происходит автоматическая делкарация контрола? Грубо говоря, какие строки кода добавились автоматически, когда я мышкой добавляю контрол в дизайн?
Старый 01.11.2006, 16:07   #12  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
В код, видимый в AOT, ничего не добавляется.
__________________
Axapta v.3.0 sp5 kr2
Старый 01.11.2006, 18:22   #13  
etc is offline
etc
Участник
 
9 / 10 (1) +
Регистрация: 31.10.2006
понятно, что не добавляется в видимый код. На системном -то уровне что происходит, то есть какие-то объявления, и т.д.
Старый 02.11.2006, 11:28   #14  
etc is offline
etc
Участник
 
9 / 10 (1) +
Регистрация: 31.10.2006
а не могли бы вы еще пару слов сказать про "почти класс" с полями.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Перехватить событие динамически созданного контрола. Как? Hub DAX: Программирование 1 31.07.2008 17:05
Проверка контрола на существование miklenew DAX: Программирование 4 02.10.2007 11:42
MenuItem у контрола Web-формы cherv DAX: Программирование 7 23.01.2007 12:06
Картинка в ячейке контрола Table matew DAX: Программирование 5 25.07.2006 12:06
Объявление переменных для controls Андре DAX: Программирование 2 07.03.2002 11:37

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 07:21.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.