Hallo herbivore,
danke für den Link, hat mir sehr geholfen. Hat sich nur mit dem langen Wochenende etwas verzögert bis ich das ausprobieren konnte. Scheint als laufe mein Programm nun stabil.
Danke
in der dll schon, in der exe nicht
in der dll hab ich eine Funktion(wird von exe aufgerufen) in der ich einen Thread starte und in diesem Thread durchlaufe ich eine while-Schleife in der ich ein Delegate aufrufe. In dem Delegate aktualisiere ich die PictureBox. über eine weitere Funktion wird der Thread wieder gestoppt.
23.05.2006 15:32:33_System.InvalidOperationException: Das Objekt wird zur Zeit anderswo verwendet.
at System.Drawing.Graphics.CheckErrorStatus(Int32 status)
at System.Drawing.Graphics.DrawImage(Image image, Int32 x, Int32 y, Int32 width, Int32 height)
at System.Drawing.Graphics.DrawImage(Image image, Rectangle rect)
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.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.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.ComponentManager.System.Windows.Forms.UnsafeNativeMethods+IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at UI.MainWindow.Main(String[] args) in d:\Form\ui_main.cs:line 7861
Oh ich hab ja die gleiche Meldung nochmal gepostet gehabt. Der 2. Fehler der im Wechsel mit dem anderen auftritt ist folgender.
22.05.2006 08:55:51_ERROR_22.05.2006 08:55:51_System.InvalidOperationException: Bitmapbereich ist bereits gesperrt.
at System.Drawing.Graphics.CheckErrorStatus(Int32 status)
at System.Drawing.Graphics.DrawImage(Image image, Int32 x, Int32 y, Int32 width, Int32 height)
at System.Drawing.Graphics.DrawImage(Image image, Rectangle rect)
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.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.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.ComponentManager.System.Windows.Forms.UnsafeNativeMethods+IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at UI.MainWindow.Main(String[] args) in d:\Form\ui_main.cs:line 7861
Die letzte Zeile ist in meiner Main, da schreib ich das ganze in ein Logfile
Da stehen nur irgendwelche System.Drawing.Graphics und System.Windows.Forms drinnen. Deswegen auch die vermutung, dass es mit einem automatischem neuzeichnen zusammenhängt. Gelegentlich bekomme ich auch die Meldung
System.InvalidOperationException: Das Objekt wird zur Zeit anderswo verwendet.
dazu bekomm ich aber auch keine aussagekräfigere Angabe wo das passiert.
Ich habe eine Form als *.exe und ein UserControl in einer *.dll.
In die exe binde ich die dll ein und rufe verschiedene Funktionen daraus auf. Eine davon aktuallisiert mir auf dem UserContral eine PictureBox. Dabei bekomme ich öfter die Meldung
System.InvalidOperationException: Das Objekt wird zur Zeit anderswo verwendet.
und mein Programm stürzt komplett ab. Meine Vermutung ist, dass sich meine Form neu zeichnet und dabei auf die PictureBox zugreifen will, was aber nicht geht, da ich sie in der dll blockiere. Kann mir jemand sagen wie ich so ein neuzeichnen verhindern kann? Oder liegt der Fehler an was anderem?
Code könnt ich euch auch geben, leider weiss ich nicht genau welchen Teil und alles wär vermutlich ein bischen viel.
Danke
Habs gefunden muss zwar dann das Bild zuerst in nen FileStream laden und dann anzeigen und nicht direkt FromFile aber dann gehts. Danke
also ich halte die datei nicht mehr.
Das mit dem ShareMode, von was in dem andren Prozess hägt das ab?
Danke und Gruß
Quotenmausi
Hallo,
kann ich ein jpg überschreiben, das in einem anderen Prozess benutzt wird?
wenn nicht kann ich das jpg irgendwie zum überspeichern freigeben und trotzdem in einem anderen Prozess anzeigen?
hoffe es hat jemand eine Idee.
Danke
Hallo alle zusammen,
wie kann ich abfragen ob ein drucker installiert ist? Das drucken an sich Funktioniert wunderbar, aber wenn kein Drucker da ist stüzt das ganze Programm ab. Probiert hab ichs schon mit try/catch, aber das hat nichts gebracht.
Hoffe es kann mir jemand weiterhelfen, danke schonmal