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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.05.2009, 13:23   #29  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Проблемы при создании наследников класса RunBaseBatch
Столкнулся со следующими проблемами при создании наследника RunBaseBatch дублированием (копированием) из другого класса-наследника (работаю с Ax 3.0 SP4):

1) невозможность отобразить вкладку "Пакет" - бездействие метода canGoBatch;
2) невозможность откомпилировать новый класс - ошибка в методе main с сообщением "Нельзя создать объект, поскольку абстрактный метод RunBase.pack() не реализован."

По первой проблеме нашёл рекомендацию здесь: Замена стандартной формы Dialog. Не выводится вкладка Пакет. . Действительно, заработало после того, как создал класс не просто дублированием другого класса, а создал новый класс вручную и перетащил по очереди методы мышкой из исходного класса.

Вторая ситуация описана в теме: Ошибка в "Тренинге по Средствам Разработки" , но явный метод борьбы не указан. Поэтому изложу свой.

Как и из-за чего именно возникает проблема 2 по ходу дублирования (копирования) не заметил, но научился вопроизводить так:

* Контекстной командой Дублировать создадим копию класса Tutorial_RunBaseBatch - CopyOfTutorial_RunBaseBatch.
* Изменим метод main, подогнав его под новый класс:
X++:
static void main(Args args)
{
    CopyOfTutorial_RunbaseBatch    tutorial_RunBase;
;
    tutorial_RunBase = new CopyOfTutorial_RunbaseBatch();

    if (tutorial_RunBase.prompt())
        tutorial_RunBase.run();
}
Всё хорошо, всё компилируется и выполняется.

* Переименуем метод pack, например, в mypack. Компиляция теперь проходит неудачно и указывает на метод main c выдачей упомянутого выше сообщения.
* Возвращаем методу pack его прежнее имя pack. Компиляция в ответ не становится удачной и информирует о той же ошибке.

И вот то, что помогло: комментируем в main строку c new, компиляция - ОК, далее раскомментируем строку и опять компилируем - ОК.

А самый первый раз наугад поборолся с проблемой 2 так: удалил метод main, скомпилировал класс без него и создал метод заново вручную.
Теги
excel, rls, полезное, blog, axapta

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
dax-lessons: Generate XML Documentation Files for a project - DAX 2009 Blog bot DAX Blogs 0 08.08.2008 19:06
dax-lessons: Active directory in Axapta Blog bot DAX Blogs 0 27.08.2007 23:00
Kashperuk Ivan: AxPaint - make your DAX look cool :) Blog bot DAX Blogs 0 26.06.2007 21:00
Kashperuk Ivan: (DAX 3.0) SysExportDialog form extension Blog bot DAX Blogs 1 15.05.2007 19:16
Kashperuk Ivan: Two very useful projects for DAX Blog bot DAX Blogs 0 20.04.2007 01:14

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 13:03.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.