Доброго времени суток.
Как-то уже начинал тему, тогда собрать какую-то информацию не удалось.
Для обмена данными используем BusinessConnectorNet.
Есть несколько мест (в приложении на C#, которое его использует), где регулярно, после какого-угодно числа удачных повторений, вдруг генерируется исключение:
Цитата:
"Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память повреждена."
Вот пример кода (C#):
Код:
AxaptaObject AXInventoryObject = AX.CreateAxaptaObject(<ObjectName>, ObjectProperties);
Второй параметр - массив значений типа object, в котором передаются параметры в метод new создаваемого объекта. Все фактические параметры имеют простой тип.
Некоторые формальные параметры объявлены со ссылкой на расширенные типы и перечисления, один - как anyType. Вот так объявлен метод new создаваемого объекта:
X++:
void new(PST_InventoryClassificationType ClassificationType, RefRecId _ItemRecId = 0, PST_InventoryDataSourceId DataSourceId = 0, str IdentificationField = "", anytype IdentificationValue = null)
Правильность значений (в тех случаях, когда происходила ошибка) для параметров простых и расширенных типов, а также перечислений - проверена. В параметр anyType на практике передаются только 64-разрядные числа (int64 или long).
Как искать причину, уже не знаю.
Есть какие-то соображения? Если нужны еще подробности - скажите, какие.
Спасибо.
P.S. Да, версии сервера и клиента совпадают.
версия ядра и приложения: 5.0.1500.3761