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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.10.2005, 11:17   #1  
Roman. ~RVS is offline
Roman. ~RVS
Участник
Аватар для Roman. ~RVS
 
26 / 10 (1) +
Регистрация: 08.10.2004
Адрес: Москва
Angry Я может быть что-то не так делаю?! qbds2 = _qbds2; - ошибка.
ситуация такая:

есть родительский класс, у которого в декларации живут query и qbds.
до этих объектов есть методы доступа на чтение.

есть метод класса addDataRange(), который вешает фильтры на qbds.

есть класс потомок в котором в декларации qbds2.

перекрыт метод addDataRange(), в котором после супера стояла строчка

qbds2 = this.qbds().addDataSource(...);

это приводило к ошибке "Ошибка времени выполнения. : Неправильные типы аргументов в операции присвоения значения переменной."

сделал так:
завел локальные переменные метода qbds0 = this.qbds(); tempQbds;

строка tempQbds = qbds0.addDataSource(...) работает без вопросов, а стокой ниже
qbds2 = tempQbds вызывает ту же ошибку.

сделал метод доступа для qbds2
QueryBuildDataSource qbds2(QueryBuildDataSource _qbds2 = qbds2)
{
;
qbds2 = _qbds2;
return qbds2;
}

строку переделал на
this.qbds2(tempQbds);
- ошибка переместилась в метод доступа на присвоении.

вопрос: что я делаю не так?!?! классы Query*** это что-то такое, что не работает как остальные чтоли?! раньше такого за ними не было замечено вроде.

что делал: перекомпилировал по 10 раз по всякому, менял название qbds2 на что-нибудь другое, экспортировал/импортировал класс - не помогает НИЧЕГО.

иногда аксапта на присвоении валится, а один раз выдала сообщение "Internal fujl" с кнопокой [ОК]

не, ну что за фигня-то? если я в чем-то не прав, так и скажите...
Старый 21.10.2005, 11:20   #2  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Выкладывайте проект.
__________________
Андрей.
Старый 21.10.2005, 12:04   #3  
Roman. ~RVS is offline
Roman. ~RVS
Участник
Аватар для Roman. ~RVS
 
26 / 10 (1) +
Регистрация: 08.10.2004
Адрес: Москва
Цитата:
Сообщение от Dron AKA andy
Выкладывайте проект.
уже не имеет смысла.

описанная выше ситуация заработала. просто так.

меня что-то напрягает то, что в аксапте запросто может потеряться ссылка на метод родителя, при компиляции всё будет нормально, а при выполнении либо не найден метод, либо см. выше.

как откомпилировать дерево объектов, чтоб все ссылки восстановились, чтоб всё работало?! если у меня 50 классов я устану по каждому бегать, перекрывать потерявшийся метод, компилировать, удалять его, компилировать, компилировать родителя.... должен же быть способ, чтоб всё само? почему мне не помогали инкрементальные компиляции всех классов в ветке даже?

как лечил случай, описанный выше: снёс из АОТ ВСЁ дерево классов, потом его заимпортировал, получил кучу ошибок компиляции. раз пять покомиплировал, ошибок осталось меньше. зашёл в каждый метод, где была ошибка - добавил и стёр пробел, чтоб метод стал считаться отредактированым - после компиляции ошибки эти изчезли. стал тестировать - не находились методы родительских классов в потомках. перекрывал их, компилировал, удалял метод, снова компилировал.

в общем собралось пока еще не всё, но ветку одну потестировать уже можно. ещё попрыгать с оставшимися придётся, видимо...

просто праздник какой-то сегодня...
Старый 21.10.2005, 12:07   #4  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Обычно инкрементная компиляция родителя помогает.
__________________
Андрей.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Что я делаю не так? Бигудь DAX: Программирование 2 05.11.2008 13:48
Ошибка при импорте URL на Enterprise Portal ChooseColor DAX: Администрирование 5 04.09.2008 10:29
Ошибка при передаче курсора для обновления с клиента на сервер vallys DAX: Программирование 4 03.07.2007 13:32
Ошибка в формате числа. 36AC DAX: Программирование 7 19.10.2006 10:04
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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