Używam silnika Ogre 3D (MOgre) i mam problem z obsługą paneli. Mam taki kod (fragment jednej z klas):

        public Overlay DebugConsoleOverlay;
        public OverlayContainer DebugConsolePanel;
        public void CreateDebugConsole()
         {
             DebugConsoleOverlay = OverlayManager.Singleton.Create("DebugConsole_Overlay");
             DebugConsolePanel = OverlayManager.Singleton.CreateOverlayElement("Panel", "DebugConsole_Panel") as OverlayContainer;
             DebugConsolePanel.MetricsMode = GuiMetricsMode.GMM_RELATIVE;
             DebugConsolePanel.SetDimensions(1.0f, 0.22f);
             DebugConsolePanel.SetPosition(0, 0);
             DebugConsolePanel.MaterialName = "Console_B_Material";
             DebugConsoleOverlay.Add2D(DebugConsolePanel);
             DebugConsoleOverlay.Hide();
             DebugConsolePanel.Hide();

I z nieznanych mi przyczyn pojawia się błąd w funkcji ShowDebugConsole():

System.AccessViolationException was unhandled
Message=Attempted to read or write protected memory... (Orginal PL:"Nastąpiła próba odczytu lub zapisu pamięci chronionej. Często wskazuje to, że inna pamięć jest uszkodzona.")
Source=Mogre
StackTrace:
w Ogre.Overlay.show(Overlay* )
w Mogre.Overlay.Show()
w Abc.MainC.ShowDebugConsole() w File3.cs:wiersz 116
w Abc.KeyboardC.Update() w File2.cs:wiersz 283
w Abc.MainC.Update() w File.cs:wiersz 124
w Abc.Program.Main(String[] args) w Program.cs:wiersz 15
w System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
w System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
w Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
w System.Threading.ThreadHelper.ThreadStart_Context(Object state)
w System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
w System.Threading.ThreadHelper.ThreadStart()
InnerException:

Nie wiem jaka jest przyczyna i wydaje mi się, że przyczyną jest Ogre, jak rozwiązać ten problem?