Показать сообщение отдельно
Старый 28.04.2020, 23:01   #5  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1234 (44) ++++++++
Регистрация: 11.04.2008
Цитата:
Сообщение от Raven Melancholic Посмотреть сообщение
Эту ошибку не перехватить аксаптовким try/cath.
Но и просто присваивать объект CLR аксаптовской строке, надеясь на автоматическое приведение, просто не стоит, лучше прямо преобразовать.
Например, в том же классе AifUtil в методе getClrErrorMessage хотя и знают, что там строка, но ей приводят при помощи CLRInterop::getAnyTypeForObject(...). Такие примеры раскинуты по многим местам AOT, так что Вам для корректности лучше вместо:
X++:
var = var_NET;
прописать:
X++:
var = CLRInterop::getAnyTypeForObject(var_NET);
Так не пойдёт.

Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Да просто проверить переменную на существования

X++:
if (var_NET)
{
    var = var_NET;
}
Так тоже не пойдёт.

Цитата:
Сообщение от Raven Melancholic Посмотреть сообщение
Хотя я бы еще сначала проверил на пустое значение NET переменную.

А вот так пойдёт.
X++:
if(!CLRInterop::isNull(var_NET))
{
       var = var_NET; // <-- генерируется вот тут
}