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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.09.2006, 08:37   #1  
3oppo is offline
3oppo
Участник
Аватар для 3oppo
 
222 / 32 (2) +++
Регистрация: 30.06.2005
Таблица как параметр?
Есть класс А1 объявлен:

Код:
ClassDeclaration
{
    RHRMOrderTable          mParent_orderTable;

}

InitBefor( RHRMOrderTable          T1)
{
 	mParent_orderTable = T1;
    //    mParent_orderTable.data( T1 );
}


Есть класс B1 в котором объявлены:

Код:
ClassDeclaration extends A1
{

}

Run
{
    RHRMOrderTable          orderTable;
……
Select  orderTable
………

    this.initBefor(orderTable );
}
Компиляция проходит нормально. Но при вызове метода Run выдаётся ошибка на ф-ю InitBefor:
Неправильные типы аргументов в операции присвоения значения переменной
Меняю mParent_orderTable = T1; на mParent_orderTable.data( T1 );
Ошибка :xRecord объект не инициализирован


Вопрос почему? И как надо?

Последний раз редактировалось 3oppo; 29.09.2006 в 08:44.
Старый 29.09.2006, 09:06   #2  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,309 / 3546 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Вообще говоря - ошибка не повторилась. Как вариант - не была проведена инкрементная компиляция класса-родителя
__________________
Возможно сделать все. Вопрос времени
За это сообщение автора поблагодарили: 3oppo (1).
Старый 29.09.2006, 09:08   #3  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Все работает.

Class1:
X++:
class class1
{
    CustTable custTable;
}
X++:
void InitBefor(CustTable _custTable)
{
;
    custTable = _custTabLe;
//    custTable.data( T1 );
    info (custTable.AccountNum);
}
Class2:
X++:
class class2 extends class1
{
}
X++:
static void main(Args _args)
{
    lass2 class2 = new Class2();
;
    class2.Run();
}
X++:
void run()
{
    CustTable custTable;
;
    select custTable;
    this.initBefor(custTable);
}
В инфолог выводится код первого клиента.
Попробуйте шаманские действия типа инкрементной компиляции, например.

Edit: Пока писал - уже опередили.

Edit2: Может Аксапте совсем плохо стало от такого количества отступлений от BestPractice?

Последний раз редактировалось oip; 29.09.2006 в 09:15.
Старый 29.09.2006, 11:00   #4  
3oppo is offline
3oppo
Участник
Аватар для 3oppo
 
222 / 32 (2) +++
Регистрация: 30.06.2005
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Вообще говоря - ошибка не повторилась. Как вариант - не была проведена инкрементная компиляция класса-родителя
Гениально!

Всё работает!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Параметр Maximum buffer size в настройках AOS Bishop DAX: Администрирование 4 15.03.2016 16:49
Измените параметр -OPENCURSORS ATimTim DAX: Программирование 12 21.09.2015 14:07
Накрылась таблица InventTableModule. miklenew DAX: Администрирование 9 18.01.2008 11:36
таблица InventJournalReportTable_RU Andrux DAX: Программирование 2 17.08.2007 13:56
select sum(amount) from временная таблица ATimTim DAX: Программирование 6 11.06.2004 14:16

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

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

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