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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.07.2011, 19:01   #5  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,984 / 3273 (117) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Вот еще пример класса, который принимает по ссылке произвольный объект и отображает нужную информацию в отладчике через toString()

Написано было изначально чтобы ловить изменение состояния объектов, у которых нельзя перекрыть toString() (какие то паразиты придумали делать его final )
Также не всегда бывает удобно использовать toString() для ядреных объектов, надо создавать наследника и с ним работать. Для xrecord - toString() можно перекрыть, но почему-то результат его вывода отладчик игнорирует.

Поэтому возникла идея создать свой класс, который позволит отобразить в отладчике информацию для таких "неудобных" объектов.

Думаю его можно и для обсуждаемых целей применять. Можно смотреть их значения посредством toString(), если их не очень много конечно.

Если много - то в методе toString() вызываем упаковку интересующего нас объекта в контейнер-переменную и
(!!!)
ядро дергает из отладчика метод toString() при перерисовке окна, а мы заодно обновляем состояние внутренних переменных класса
вытаскивая в контейнер содержимое объекта, таким образом
получаем актуальную версию состояния наблюдаемого объекта.
Т.е. для обновления контейнера не надо самим из отлаживаемого кода кода дергать map.pack() или как в примере маззи table2con()
ядро это сделает за нас вызывая toString()

Таким образом мы в любой момент времени видим актуальные значения без дополнительного кодирования.Вложение 7026
Вложения
Тип файла: xpo SharedProject_GRD_DebuggerViewObjectProperties.xpo (6.4 Кб, 601 просмотров)
За это сообщение автора поблагодарили: mazzy (5), gl00mie (15), alex55 (3), Kabardian (3).
Теги
временная таблица, законченный пример, как правильно, классы коллекций, отладка, отладчик

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Классы коллекций (инициализация, сериализация): List, Set, Map. petergunn DAX: База знаний и проекты 14 09.07.2025 11:37
update_recordset не работает с системными полями и таблицами? Alexx7 DAX: Программирование 42 19.10.2009 09:39
daxis: What’s new in Set based operations in Dynamics Ax 2009 Blog bot DAX Blogs 0 01.04.2009 18:05
Как перенести данные между временными таблицами MSSQL и АОТ velk DAX: Программирование 5 08.08.2006 17:27

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

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

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