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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.04.2004, 17:50   #1  
ArturK is offline
ArturK
Участник
 
81 / 10 (1) +
Регистрация: 13.08.2003
? Как при вызове класса передать в него таблицу?
У меня есть Class
с методами

PHP код:
public void new(Args args)
{
...
}

private static 
void main(Args _args)
{
    Class class = new Class(
_args);
    ;

    class.
ParentForm(_args.caller());
    if(class.
init() == true)
        class.
run();

Когда я вызываю класс через MenuItem передавая DS в качестве параметра у меня все работает,

но вот когда я хочу вызвать класс из clicked()

PHP код:
void clicked()
{
    
Args                args = New Args();
    Class             class;
    ;

    
args.caller(this);
    
args.record(table);
    class= new Class(
args);
    
super();

то класс не работает

когда пишу

PHP код:
Class::main(args); 
выдается ошибка "FormButtomControl object не имеет метода DataSource"

Как мне вызвать этот класс правильно и передать в него сформированную в форме временную таблицу?
Старый 08.04.2004, 18:40   #2  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
А зачем вообще что-либо писать? Сделайте нормальный MenuItem. Курсор из источника данных формы автоматически попадает в args.record() в методе main(). И не пробуйте передавать в класс форму FormRun, есть риск нарваться на "утечки памяти".
Старый 08.04.2004, 18:59   #3  
ArturK is offline
ArturK
Участник
 
81 / 10 (1) +
Регистрация: 13.08.2003
Цитата:
Изначально опубликовано EVGL
А зачем вообще что-либо писать? Сделайте нормальный MenuItem. Курсор из источника данных формы автоматически попадает в args.record() в методе main(). И не пробуйте передавать в класс форму FormRun, есть риск нарваться на "утечки памяти".
Дело в том,
что мне нужно чтобы в этот класс был передан не только DS, но и еще одна временная таблица, формируемая в данной форме.

Заново форировать ее в классе не выглядит хорошим решением, так как время формирование приличное.
Старый 08.04.2004, 19:24   #4  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Создайте на классе метод-аксессор parmXXXXX и передавайте в него курсор. Убедитесь, что в 3-уровневом режиме класс исполняется на той же стороне, что и форма (т.е. на клиенте).
Старый 09.04.2004, 10:52   #5  
ArturK is offline
ArturK
Участник
 
81 / 10 (1) +
Регистрация: 13.08.2003
А как запустить метод Main()?

Как я уже писал выше,
на такую строку

PHP код:
Class::main(args); 

выдается ошибка "FormButtomControl object не имеет метода DataSource"
Старый 09.04.2004, 11:26   #6  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Сделайте MenuItem для класса. А потом поищите в Developer's Guide раздел "Activating Menu Item from X++ code" (ну или он как-то похоже называется).
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 09.04.2004, 11:38   #7  
ArturK is offline
ArturK
Участник
 
81 / 10 (1) +
Регистрация: 13.08.2003
Спасибо!
Получилось...
Старый 09.04.2004, 12:15   #8  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Цитата:
А как запустить метод Main()?
У вас в приведенном выше методе, написанном на кнопке, в качестве args.caller() дается ссылка на саму эту кнопку (через this), а не на форму. Может быть, в этом причина. Напишите так:
PHP код:
args.caller(element); 
__________________
Андрей.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Передать временную таблицу из формы в класс Eldar9x DAX: Программирование 26 20.06.2008 19:09
Нюансы класса SetIterator при вызове на клиенте/сервере sparur DAX: Программирование 3 09.06.2008 13:13
создать и передать временную таблицу kitty DAX: Программирование 11 13.07.2006 14:40
Как передать временную таблицу Aslan DAX: Программирование 15 23.05.2006 17:34
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38

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

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

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