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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.06.2006, 11:16   #1  
batiskaf_new is offline
batiskaf_new
Участник
 
39 / 19 (1) ++
Регистрация: 07.06.2006
в коде infolog.startup() написано для этих целей использовать startupPost ? И еще, очень меня смущает программирование в системных классах, у меня каждый чих практически таким образом производится, с ужасом думаю как это все будет распространяться... Сложно было этим Навижн преджусмотреть какие то адаптеры, которыми нужно напичкать систему? Ну ладно, допустим.

И еще объясните мне такую вещь. Вот если я меняю какой нибудь класс из AOT\Classes то изменения можно сохранить в файле .xpo, и затем импортировать, допустим что такой вариант для меня приемлимый. А вот если я переписываю отдельные методы класса Info, класс ведь системный, class defenition его вообще не открыть, только метод startupPost. Как потом эти изменения сохранить в отдельный файл, чтобы потом импортировать в АОТ на другом компе (допустим что этот комп в другой компании, наши АОТ не связаны).

Опс! Инфо класс я не заметил в АОТ, он был не по алфавитному порядку а в конце списка, вторая часть вопроса снимается...

Последний раз редактировалось batiskaf_new; 19.06.2006 в 11:33.
Старый 19.06.2006, 11:38   #2  
db is offline
db
Роман Долгополов (RDOL)
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
 
393 / 692 (24) +++++++
Регистрация: 01.04.2004
Адрес: Москва
Цитата:
Сообщение от batiskaf_new
в коде infolog.startup() написано для этих целей использовать startupPost ? И еще, очень меня смущает программирование в системных классах, у меня каждый чих практически таким образом производится, с ужасом думаю как это все будет распространяться... Сложно было этим Навижн преджусмотреть какие то адаптеры, которыми нужно напичкать систему? Ну ладно, допустим. И еще объясните мне такую вещь. Вот если я меняю какой нибудь класс из AOT\Classes то изменения можно сохранить в файле .xpo, и затем импортировать, допустим что такой вариант для меня приемлимый. А вот если я переписываю отдельные методы класса Info, класс ведь системный, class defenition его вообще не открыть, только метод startupPost. Как потом эти изменения сохранить в отдельный файл, чтобы потом импортировать в АОТ на другом компе (допустим что этот комп в другой компании, наши АОТ не связаны).
понятно что правильнее startupPost(). Но все зависит от ситуации. startupPost() явно вызывается из startup() - если вам надо что-то сделать раньше, чем вызов этого метода - то придется написать в самом startup() или даже в new()

перекрывая методы xInfo (вот он как раз полностью системный и закрытый) вы их пишите их реализацию в классе Info - там все замечательно открывается и экспортируется, включая ClassDeclaration. глобальная переменная infolog ссылается на экземпляр Info (не xInfo - он абсрактный базовый). Ядро же для своих нужд использует интерфейс от xInfo

И еще
будьте осторожнее с вставкой своего кода в методы стартапа - при определенных ошибках в этом коде (у меня был случай с ошибкой вызывавшей трассровку стека) то можно полностью загробить приложение - вы в него просто не зайдете. Бояться не надо, но тестрировать стоит потщательнее, чем "обычный" код

Последний раз редактировалось db; 19.06.2006 в 11:43.
Старый 19.06.2006, 11:57   #3  
batiskaf_new is offline
batiskaf_new
Участник
 
39 / 19 (1) ++
Регистрация: 07.06.2006
Цитата:
Сообщение от db
И еще
будьте осторожнее с вставкой своего кода в методы стартапа - при определенных ошибках в этом коде (у меня был случай с ошибкой вызывавшей трассровку стека) то можно полностью загробить приложение - вы в него просто не зайдете. Бояться не надо, но тестрировать стоит потщательнее, чем "обычный" код
Ценные замечания, только что подумал что если я не проверю null reference или еще чего то аксапта просто не откроется. И что, нет никакой возможности поднять последнюю рабочую конфигурацию?

Пока что решил весь этот код оборачивать в обработчике исключений.
Старый 19.06.2006, 12:10   #4  
db is offline
db
Роман Долгополов (RDOL)
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
 
393 / 692 (24) +++++++
Регистрация: 01.04.2004
Адрес: Москва
Цитата:
Сообщение от batiskaf_new
Ценные замечания, только что подумал что если я не проверю null reference или еще чего то аксапта просто не откроется. И что, нет никакой возможности поднять последнюю рабочую конфигурацию?

Пока что решил весь этот код оборачивать в обработчике исключений.
никакого волшебного ключика командной строки или другого штатного способа откатить изменения нет (ну или я про него не знаю). самое простое и надежное - перед началом коряченья этих классов сделать копию всего приложения или хотя бы aod файла с вашим рабочим слоем
если сломается скопировать все взад (если копировали только aod, то перед запуском приложения грохнуть все индексные файлы (delindex.bat))
Теги
crm2011

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
AX UK: Advanced Demand Management for AX 2009 workshops Blog bot DAX Blogs 0 28.03.2009 01:05
AX UK: Update on Advanced Demand Management for AX 2009 Blog bot DAX Blogs 0 26.03.2009 17:05
Solutions Monkey: WSS Setup for EP - Basic or Advanced Mode ? Blog bot DAX Blogs 0 23.08.2007 05:32
axaptabuilder: How to learn Axapta programming: “MorphXIT: an introduction to Axapta and the MorphX Development Suit” Blog bot DAX Blogs 0 28.10.2006 16:47
Advanced programming: Grid data and view manipulations batiskaf_new DAX: Программирование 15 21.06.2006 11:44
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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