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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.06.2013, 15:00   #1  
Swordec is offline
Swordec
Участник
 
18 / 10 (1) +
Регистрация: 16.05.2013
Имя метода класса в переменной.
Добрый день.
Можно ли получив имя класса и метода из переменных, выполнить его?

Последний раз редактировалось Swordec; 28.06.2013 в 15:03.
Старый 28.06.2013, 15:11   #2  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Класс DictClass, методы callObject(), callStatic(). И runBuff() есть.
http://msdn.microsoft.com/en-us/libr...(v=ax.50).aspx
Старый 28.06.2013, 15:17   #3  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Смотрите системный класс DictClass или системную функцию runbuf.
Старый 28.06.2013, 15:50   #4  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Примерно так.

X++:
static void classObjectJob(Args _args)
{
    SysDictClass dictClass;
    str          className  = 'Class1';
    str          methodName = 'method1';
    Object       classObject;
    ;
    if (!className2Id(className))
        throw error('Класс не существует');

    classObject = new DictClass(className2Id(className)).makeObject();
        
    dictClass = new SysDictClass(className2Id(className));
 
    if (dictClass && dictClass.hasObjectMethod(methodName))
        dictClass.callObject(methodName, classObject);
    else
        error('Метод не существует');
}
За это сообщение автора поблагодарили: Swordec (1).
Старый 28.06.2013, 15:56   #5  
db is offline
db
Роман Долгополов (RDOL)
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
 
393 / 692 (24) +++++++
Регистрация: 01.04.2004
Адрес: Москва
Цитата:
Сообщение от oip Посмотреть сообщение
Примерно так....
всё проще
SysDictClass::invokeObjectMethod()

Дополнение: Хотя да, объект еще создать надо
Старый 28.06.2013, 16:07   #6  
Swordec is offline
Swordec
Участник
 
18 / 10 (1) +
Регистрация: 16.05.2013
Пишет что метод не существует.
Старый 28.06.2013, 16:20   #7  
Swordec is offline
Swordec
Участник
 
18 / 10 (1) +
Регистрация: 16.05.2013
Всем большое спасибо за помощь. Получилось.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Из метода узнать наименование класса-родителя alicedr DAX: Программирование 4 25.01.2013 16:21
Как определить имя класса, возвращаемого методом S.Kuskov DAX: Программирование 5 23.04.2010 10:23
Вызов метода базового класса Eldar9x DAX: Программирование 15 22.03.2008 19:10
Свойство элемента управления из метода класса Zeratul DAX: Программирование 4 11.05.2006 17:32
"Программный" вызов метода класса!? axaLearner DAX: Программирование 13 16.08.2005 08:12
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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