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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.11.2010, 08:58   #1  
kalex_a is offline
kalex_a
Участник
Аватар для kalex_a
Самостоятельные клиенты AX
MCBMSS
 
160 / 19 (1) ++
Регистрация: 26.11.2007
Адрес: Казахстан
? Set.Remove, валится клиент
Здравствуйте, может кто нибудь знает? Валится клиент на строке кода:
X++:
transCreditSet.remove(transRecId);
Ошибка: "Dynamics Client - обнаружена ошибка. Приложение будет закрыто. Приносим извинения за неудобства. и т.д."

AX 4.0
__________________
Лучше сделать и жалеть, чем жалеть что не сделал
Старый 02.11.2010, 09:14   #2  
samolalex is offline
samolalex
Участник
Аватар для samolalex
Самостоятельные клиенты AX
 
259 / 107 (4) +++++
Регистрация: 18.06.2010
Адрес: Москва
Возможно тип значения в методе remove() и тип значений множества (Set(Types _type)) не совпадает, либо transRecId имеет слишком большое/малое(отрицательное) значение, которое выходит за диапазон указанного при инициализации множества типа данных.
__________________
С уважением, Александр.
Старый 02.11.2010, 10:57   #3  
kalex_a is offline
kalex_a
Участник
Аватар для kalex_a
Самостоятельные клиенты AX
MCBMSS
 
160 / 19 (1) ++
Регистрация: 26.11.2007
Адрес: Казахстан
Цитата:
Сообщение от samolalex Посмотреть сообщение
Возможно тип значения в методе remove() и тип значений множества (Set(Types _type)) не совпадает, либо transRecId имеет слишком большое/малое(отрицательное) значение, которое выходит за диапазон указанного при инициализации множества типа данных.
Типы и значения совпадают.
__________________
Лучше сделать и жалеть, чем жалеть что не сделал
Старый 02.11.2010, 11:09   #4  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,510 / 435 (18) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
transRecId удаляемый вообще есть в сете? Может, вы пытаетесь удалить то, чего нет?
__________________
С уважением,
Вячеслав
Старый 02.11.2010, 11:10   #5  
kalex_a is offline
kalex_a
Участник
Аватар для kalex_a
Самостоятельные клиенты AX
MCBMSS
 
160 / 19 (1) ++
Регистрация: 26.11.2007
Адрес: Казахстан
Цитата:
Сообщение от pitersky Посмотреть сообщение
transRecId удаляемый вообще есть в сете? Может, вы пытаетесь удалить то, чего нет?
есть
__________________
Лучше сделать и жалеть, чем жалеть что не сделал
Старый 02.11.2010, 11:13   #6  
samolalex is offline
samolalex
Участник
Аватар для samolalex
Самостоятельные клиенты AX
 
259 / 107 (4) +++++
Регистрация: 18.06.2010
Адрес: Москва
в любом случае метод remove() должен выполняться, т.к. он возвращает true или false в зависимости от наличия удаляемого элемента.
Какой тип у вашего множества?
__________________
С уважением, Александр.
Старый 02.11.2010, 11:14   #7  
kalex_a is offline
kalex_a
Участник
Аватар для kalex_a
Самостоятельные клиенты AX
MCBMSS
 
160 / 19 (1) ++
Регистрация: 26.11.2007
Адрес: Казахстан
Цитата:
Сообщение от samolalex Посмотреть сообщение
в любом случае метод remove() должен выполняться, т.к. он возвращает true или false в зависимости от наличия удаляемого элемента.
Какой тип у вашего множества?
тип RecId
__________________
Лучше сделать и жалеть, чем жалеть что не сделал
Старый 02.11.2010, 11:16   #8  
samolalex is offline
samolalex
Участник
Аватар для samolalex
Самостоятельные клиенты AX
 
259 / 107 (4) +++++
Регистрация: 18.06.2010
Адрес: Москва
Я имею ввиду его инициализацию:
X++:
Set set = new Set(Types::   );
__________________
С уважением, Александр.

Последний раз редактировалось samolalex; 02.11.2010 в 11:19.
Старый 02.11.2010, 11:18   #9  
kalex_a is offline
kalex_a
Участник
Аватар для kalex_a
Самостоятельные клиенты AX
MCBMSS
 
160 / 19 (1) ++
Регистрация: 26.11.2007
Адрес: Казахстан
Цитата:
Сообщение от samolalex Посмотреть сообщение
Я имею ввиду его инициализацию:
X++:
Set set = new Set(Types::[B]  [/B]);
X++:
transCreditSet = new Set(typeId2Type(typeid(recId)));
__________________
Лучше сделать и жалеть, чем жалеть что не сделал
Старый 02.11.2010, 11:18   #10  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,510 / 435 (18) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
Несовпадение типов валило бы ещё на этапе заполнения сета
__________________
С уважением,
Вячеслав
За это сообщение автора поблагодарили: kornix (1), samolalex (1).
Старый 02.11.2010, 11:19   #11  
samolalex is offline
samolalex
Участник
Аватар для samolalex
Самостоятельные клиенты AX
 
259 / 107 (4) +++++
Регистрация: 18.06.2010
Адрес: Москва
Я сделал поправку в сообщении, список поддерживаемых множеством типов видны через Types::
Попробуйте types::Integer - базовый тип для RecId
__________________
С уважением, Александр.

Последний раз редактировалось samolalex; 02.11.2010 в 11:23.
Старый 02.11.2010, 11:21   #12  
kornix is offline
kornix
MCP
MCBMSS
Злыдни
Ex AND Project
 
414 / 146 (5) +++++
Регистрация: 24.02.2009
Адрес: Санкт-Петербург
Цитата:
Сообщение от kalex_a Посмотреть сообщение
тип RecId
Не уверен, но попробуйте удалить файлы *.aoc в папке %user%\AppData\Local\Application data
Такой подход обсуждался тут, но клиент падал при другой операции.

В папке с приложением \Appl\<Имя приложения> попробуйте удалить файлы
*.ali
*.aoi
*.alt
*.ahi
*.khi
*.udb
*.add
*.adi

P.S. Надеюсь приложение тестовое или разработческое?
Старый 02.11.2010, 11:44   #13  
kalex_a is offline
kalex_a
Участник
Аватар для kalex_a
Самостоятельные клиенты AX
MCBMSS
 
160 / 19 (1) ++
Регистрация: 26.11.2007
Адрес: Казахстан
Цитата:
Сообщение от kornix Посмотреть сообщение
Не уверен, но попробуйте удалить файлы *.aoc в папке %user%\AppData\Local\Application data
Такой подход обсуждался тут, но клиент падал при другой операции.

В папке с приложением \Appl\<Имя приложения> попробуйте удалить файлы
*.ali
*.aoi
*.alt
*.ahi
*.khi
*.udb
*.add
*.adi

P.S. Надеюсь приложение тестовое или разработческое?
Не помогло
__________________
Лучше сделать и жалеть, чем жалеть что не сделал
Старый 02.11.2010, 11:46   #14  
kornix is offline
kornix
MCP
MCBMSS
Злыдни
Ex AND Project
 
414 / 146 (5) +++++
Регистрация: 24.02.2009
Адрес: Санкт-Петербург
Цитата:
Сообщение от kalex_a Посмотреть сообщение
Не помогло
а глобальную компилляцию делали? Иногда это помогает
За это сообщение автора поблагодарили: samolalex (1).
Старый 02.11.2010, 11:47   #15  
samolalex is offline
samolalex
Участник
Аватар для samolalex
Самостоятельные клиенты AX
 
259 / 107 (4) +++++
Регистрация: 18.06.2010
Адрес: Москва
А вы пробовали просмотреть содержимое множества через
info(transCreditSet.toString());
И какое значение содержится в transRecId в момент удаления, ради опытного интереса
__________________
С уважением, Александр.
Старый 02.11.2010, 11:47   #16  
samolalex is offline
samolalex
Участник
Аватар для samolalex
Самостоятельные клиенты AX
 
259 / 107 (4) +++++
Регистрация: 18.06.2010
Адрес: Москва
Цитата:
Сообщение от kornix Посмотреть сообщение
а глобальную компилляцию делали? Иногда это помогает
Хорошая идея, также можно попробовать почистить кэш...
__________________
С уважением, Александр.
За это сообщение автора поблагодарили: kornix (1).
Старый 02.11.2010, 12:17   #17  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Цитата:
Сообщение от samolalex Посмотреть сообщение
Я сделал поправку в сообщении, список поддерживаемых множеством типов видны через Types::
Попробуйте types::Integer - базовый тип для RecId
Небольшая поправка: в 4ке и выше для RecId используется Types::Int64.
__________________
Андрей.
За это сообщение автора поблагодарили: kornix (3), samolalex (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Классы коллекций (инициализация, сериализация): List, Set, Map. petergunn DAX: База знаний и проекты 12 06.11.2024 18:38
emeadaxsupport: Query execution failed for data set 'Company' Blog bot DAX Blogs 0 28.10.2009 00:06
daxis: What’s new in Set based operations in Dynamics Ax 2009 Blog bot DAX Blogs 0 01.04.2009 18:05
axaptapedia: Set (Foundation class) Blog bot DAX Blogs 0 24.04.2008 20:19
Dynamics AX Geek: Interesting fact about set(Types::Record) Blog bot DAX Blogs 0 28.10.2006 16:40

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

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

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