Ik heb een applicatie gemaakt waarmee beelden uit een webcam worden gehaald, en kunnen worden weergegeven op een picturebox. Nu gaat dit bijna altijd goed, maar heel soms krijg ik de volgende fout:
Mijn applicatie is volgens MVC opgebouwd. Als ik een melding krijg dat er een nieuw frame beschikbaar is, haalt mijn view die eigenhandig op in het model. Nu heb ik het vermoeden dat er soms al een nieuw image wordt opgehaald, terwijl de huidige bitmap nog getekend wordt. Heeft iemand hier een oplossing voor? Kan ik er bijvoorbeeld voor zorgen dat er niet een nieuw image wordt opgehaald op het moment dat ik in mijn picturebox aan het tekenen ben?System.InvalidOperationException was unhandled
Message="Object is currently in use elsewhere."
Source="System.Drawing"
StackTrace:
at System.Drawing.Image.get_Width()
at System.Drawing.Image.get_Size()
at System.Windows.Forms.PictureBox.ImageRectangleFromSizeMode(PictureBoxSizeMode mode)
at System.Windows.Forms.PictureBox.get_ImageRectangle()
at System.Windows.Forms.PictureBox.OnPaint(PaintEventArgs pe)
at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer, Boolean disposeEventArgs)
at System.Windows.Forms.Control.WmPaint(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at Try2.Controller.MainController.InitializeMVC() in C:\Documents and Settings\lijtenb\My Documents\afstuderen\Code\try3\Try2\Controller\MainController.cs:line 49
at Try2.Controller.MainController..ctor() in C:\Documents and Settings\lijtenb\My Documents\afstuderen\Code\try3\Try2\Controller\MainController.cs:line 32
at Try2.Program.Main() in C:\Documents and Settings\lijtenb\My Documents\afstuderen\Code\try3\Try2\Program.cs:line 17
at System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
Memories of yesterday, will grow, but never die