2017-12-02 3 views
0

Ich bin Mono in meine C++ App einbetten. Und ich habe Probleme mit mono_runtime_invoke().Mono C# -Einbettung, mono_runtime_Invoke Crash-App

Dies ist die Methode, die mono_runtime_invoke ruft:

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); 

Und hier die C# funtion Ich rufe (Start()):

public class Nngf 
{ 
    void Start() 
    { 
     GameObject go = null; 
     go.SetName("Hi!"); 
    } 
} 

Wie Sie die Start-Methode sehen können, Aufruf einer Methode (SetName) aus einer Null-Klasse (Gameobject) und ich sollte eine NullReference-Ausnahme in der CallFunction() -Methode erhalten. Aber stattdessen die App stürzt ab:

enter image description here

ich die C# Skript in Unity getestet haben, und ich bin immer die Nullreference Fehler.

Was muss ich tun? Ich vermisse etwas?

Antwort

0

Gelöst. Ich musste nur die Option "Brechen, wenn diese Ausnahme ausgelöst wird" deaktivieren und App wird fortgesetzt und ich kann die Ausnahmebedingungsnachricht erhalten.