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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.07.2003, 11:55   #1  
Антон Солдатов is offline
Антон Солдатов
Соучастник
Аватар для Антон Солдатов
 
386 / 27 (1) +++
Регистрация: 29.12.2002
Адрес: Новосибирск
? передача ссылки на метод
каким способом можно идентифицировать метод таблицы? другими словами:

есть следующее:
PHP код:
void my_method(FormDataSource _dsfieldId _txt){
   
Common cursor _ds.cursor();
   ;
   
info(cursor.(_txt));
}

//somewhere

myobject.my_method(TohaTable_dsfieldNum(TohaTableMyText)); 

хотелось бы аналогичным способом передать ссылку на метод таблицы(не датасорса).
methodstr не подходит - говорит нужно передавать класс в качестве аргумента.

может кто подскажет?
Старый 14.07.2003, 12:36   #2  
Garic is offline
Garic
NavAx
Аватар для Garic
NavAx Club
 
393 / 63 (3) ++++
Регистрация: 23.07.2002
Адрес: Москва
Думаю придётся пользоваться runbuf -ом.
__________________
С уважением, Игорь Ласийчук.
Старый 14.07.2003, 12:40   #3  
Антон Солдатов is offline
Антон Солдатов
Соучастник
Аватар для Антон Солдатов
 
386 / 27 (1) +++
Регистрация: 29.12.2002
Адрес: Новосибирск
Цитата:
Изначально опубликовано Garic
Думаю придётся пользоваться runbuf -ом.
нет уж спасибо.. жуть как некрасиво получится %)
Старый 14.07.2003, 13:33   #4  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Может, я чего-то не понимаю, но задача решается - проще некуда. Передается название метода строкой, а потом делается так:

PHP код:
new DictTable(TohaTable_ds.table()).callObject(_methodNameTohaTable_ds.cursor(), ...); 
Старый 14.07.2003, 13:49   #5  
Антон Солдатов is offline
Антон Солдатов
Соучастник
Аватар для Антон Солдатов
 
386 / 27 (1) +++
Регистрация: 29.12.2002
Адрес: Новосибирск
Цитата:
Изначально опубликовано EVGL
Может, я чего-то не понимаю, но задача решается - проще некуда. Передается название метода строкой, а потом делается так:

PHP код:
new DictTable(TohaTable_ds.table()).callObject(_methodNameTohaTable_ds.cursor(), ...); 
спасибо, наверное так и сделаю.. единственное, чем не очень нравится - нет проверки на этапе компиляции, существует передаваемый метод или нет. в fieldNum такая проверка есть.
Старый 14.07.2003, 13:58   #6  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Правильно, надо еще проверку сделать. Рекомендую поступить по аналогии с методом \Classes\SysFormRun\hasMethod. А именно: определить наличие соотв. ветки в AOT.

К сожалению, есть еще и параметры, наличие или отсутствие которых проверить труднее. Но тоже возможно: DictTable.objectMethodObject() возвращает класс MethodInfo, который дает массу полезной информации, в т.ч. и о параметрах.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
передача бинарных файлов с клиента на AOS и обратно corvax DAX: Программирование 9 01.04.2014 15:05
Передача переменного числа параметров в метод lemchey_white DAX: Программирование 16 14.12.2009 21:21
Передача ссылки на формы через SysInfoAction_FormRun Artem Mikhailov DAX: Программирование 3 12.01.2007 07:17
Передача массива в метод COM-объекта Вадим DAX: Программирование 6 24.01.2005 12:31
Передача массива VARIANTов в Automation метод Maximin DAX: Программирование 0 09.10.2002 19:31

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

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

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