Я встраиваю Mono в мое приложение на C ++. И у меня проблемы с mono_runtime_invoke()
,
Вот метод, который вызывает mono_runtime_invoke
:
void CSScript::CallFunction(MonoMethod * function, void ** parameter)
{
inside_function = true;
MonoObject* exception = nullptr;
MonoObject* obj = mono_runtime_invoke(function, mono_object, parameter, &exception);
if (exception)
{
mono_print_unhandled_exception(exception);
}
}
//---------------------
CallFunction(start, nullptr);
А вот функция c #, которую я вызываю (Start ()):
public class Nngf
{
void Start ()
{
GameObject go = null;
go.SetName("Hi!");
}
}
Как видите, метод Start вызывает метод (SetName) из нулевого класса (Gameobject), и я должен получить исключение NullReference в методе c ++ CallFunction (). Но вместо этого приложение вылетает:
Я протестировал c # скрипт в Unity и получаю ошибку NullReference.
Что я должен сделать? Я что-то упустил?
Решаемые. Мне просто нужно было деактивировать опцию «Разорвать, когда выбрасывается это исключение», и приложение продолжается, и я могу получить сообщение об исключении.
Других решений пока нет …