Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# OGRE3D窗口关闭时的FATAlexecutionEngineer错误_C#_Window_Sfml_Ogre3d_Ogre - Fatal编程技术网

C# OGRE3D窗口关闭时的FATAlexecutionEngineer错误

C# OGRE3D窗口关闭时的FATAlexecutionEngineer错误,c#,window,sfml,ogre3d,ogre,C#,Window,Sfml,Ogre3d,Ogre,我用的是MOGRE,OGRE3D的C#binding。我创建了自己的渲染循环,并使用WindowEventUtilities.MessagePump()更新窗口 这是我的主要应用程序循环: while (SFMLWin.IsOpened() && !OGREWin.IsClosed) { try { if (fpsClock.Milliseconds > 0) fps = 1000 / fpsClock.Millise

我用的是MOGRE,OGRE3D的C#binding。我创建了自己的渲染循环,并使用WindowEventUtilities.MessagePump()更新窗口

这是我的主要应用程序循环:

while (SFMLWin.IsOpened() && !OGREWin.IsClosed)
{
    try
    {
        if (fpsClock.Milliseconds > 0)
            fps = 1000 / fpsClock.Milliseconds;

        fpsClock.Reset();
        SFMLWin.DispatchEvents();
        SFMLWin.GetFrameTime();
        inputKeyboard.Capture();
        inputMouse.Capture();
        OnCollision();
        OnKeyHold();
        MainDraw();
        WindowEventUtilities.MessagePump();
    }
    catch
    {
        break;
    }
}
SFMLWin.Dispose();
OGREWin.Dispose();
当我在WindowEventUtilities.MessagePump()上关闭OGREWin时,仍然会收到“FatalExecutionError”代码;。try/catch语句没有捕获任何内容,我无法围绕WindowEventUtilities.MessagePump()实现任何if语句来修复这种情况。我真不知道该怎么办


我在MOGRE板上发布了一个主题,但还没有找到解决方案。

本机代码正在破坏垃圾收集堆。可能是因为pinvoke声明不好,但你要花很长时间才能找到它。碰撞的地方不是造成损坏的地方。在.NET4中,这不是一个可捕捉的例外,它是一个太严重的心脏病发作。如果你不能从作者那里得到帮助,就减少你的损失。检查你的食人魔日志。如果有食人魔例外,它有时会在那里给出提示