Allgemeiner Fehler in GDI+

Einige Benutzer welche mein in VB2008 geschriebenen Programm verwenden erhalten folgende Fehlermeldung, wenn das Programm über mehrere Stunden läuft.

Informationen über das Aufrufen von JIT-Debuggen
anstelle dieses Dialogfelds finden Sie am Ende dieser Meldung.

************** Ausnahmetext **************
System.Runtime.InteropServices.ExternalException: Allgemeiner Fehler in GDI+.
bei System.Drawing.Image.SelectActiveFrame(FrameDimens ion dimension, Int32 frameIndex)
bei System.Drawing.ImageAnimator.ImageInfo.UpdateFrame ()
bei System.Drawing.ImageAnimator.UpdateFrames()
bei System.Windows.Forms.PictureBox.OnPaint(PaintEvent Args pe)
bei System.Windows.Forms.Control.PaintWithErrorHandlin g(PaintEventArgs e, Int16 layer, Boolean disposeEventArgs)
bei System.Windows.Forms.Control.WmPaint(Message& m)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.O nMessage(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m)
bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Geladene Assemblys **************
mscorlib
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.1433 (REDBITS.050727-1400).
CodeBase: file:///c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll.
----------------------------------------
Wetterwarnung
Assembly-Version: 0.0.0.36.
Win32-Version: 0.0.0.2.
CodeBase: file:///C:/Programme/Wetterwarnung/Wetterwarnung.exe.
----------------------------------------
Microsoft.VisualBasic
Assembly-Version: 8.0.0.0.
Win32-Version: 8.0.50727.1433 (REDBITS.050727-1400).
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll.
----------------------------------------
System
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.1433 (REDBITS.050727-1400).
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll.
----------------------------------------
System.Windows.Forms
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.1433 (REDBITS.050727-1400).
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll.
----------------------------------------
System.Drawing
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.1433 (REDBITS.050727-1400).
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll.
----------------------------------------
System.Runtime.Remoting
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.1433 (REDBITS.050727-1400).
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll.
----------------------------------------
System.Windows.Forms.resources
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.1433 (REDBITS.050727-1400).
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_de_b77a5c561934e089/System.Windows.Forms.resources.dll.
----------------------------------------
System.Configuration
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.1433 (REDBITS.050727-1400).
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll.
----------------------------------------
System.Xml
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.1433 (REDBITS.050727-1400).
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll.
----------------------------------------
System.resources
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.1433 (REDBITS.050727-1400).
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.resources/2.0.0.0_de_b77a5c561934e089/System.resources.dll.
----------------------------------------
AxInterop.WMPLib
Assembly-Version: 1.0.0.0.
Win32-Version: 1.0.0.0.
CodeBase: file:///C:/Programme/Wetterwarnung/AxInterop.WMPLib.DLL.
----------------------------------------
Interop.WMPLib
Assembly-Version: 1.0.0.0.
Win32-Version: 1.0.0.0.
CodeBase: file:///C:/Programme/Wetterwarnung/Interop.WMPLib.DLL.
----------------------------------------
mscorlib.resources
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.1433 (REDBITS.050727-1400).
CodeBase: file:///c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll.
----------------------------------------
System.Drawing.resources
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.1433 (REDBITS.050727-1400).
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing.resources/2.0.0.0_de_b03f5f7f11d50a3a/System.Drawing.resources.dll.
----------------------------------------

************** JIT-Debuggen **************
Um das JIT-Debuggen (Just-In-Time) zu aktivieren, muss in der
Konfigurationsdatei der Anwendung oder des Computers
(machine.config) der jitDebugging-Wert im Abschnitt system.windows.forms festgelegt werden.
Die Anwendung muss mit aktiviertem Debuggen kompiliert werden.




Hat einer ein Tip von euch, um den Fehler einzugrenzen?

Gruß

Gerhard
 
Hallo,

dazu müssten wir deinen Code sehen, da es mehrere Gründe für diesen Fehler geben kann.
Manchmal tritt dieser Fehler auf, wenn du von einem anderen Thread aus mit der GDI+ auf das Form zeichnest.

Aber ohne deinen Code kann man den Fehler nicht genau feststellen ;)

MfG
Fabsch
 
Hier mal den Codeausschnitt, womit ich regelmäßig Grafiken alle 5 Minuten aus dem Inet aktualisieren lasse. Vermute das es daran liegt. Das Problem trift nur bei einigen Benutern sporadisch auf.

Code:
ladenDWDKarte:
        On Error GoTo ladenblizkarte
        If Not (PictureBox1.Image Is Nothing) Then
            PictureBox1.Image.Dispose()
            PictureBox1.Image = Nothing
        End If

        My.Computer.Network.DownloadFile("http://www.wettergefahren.de/scripts/getimg.php?src=/wundk/Warnungen/DL00_O.png", Environ("appdata") & "\Wetterwarnung\DWD-Karte.png", "", "", False, 5000, True)
        PictureBox1.Image = Image.FromFile(Environ("appdata") & "\Wetterwarnung\DWD-Karte.png")

ladenblizkarte:
        On Error GoTo ladenRegenradar
        If Not (PictureBox2.Image Is Nothing) Then
            PictureBox2.Image.Dispose()
            PictureBox2.Image = Nothing
        End If

        My.Computer.Network.DownloadFile("http://www.blids.de/spion/bilder/aktkarteger.jpg", Environ("appdata") & "\Wetterwarnung\Blids.jpg", "", "", False, 5000, True)
        PictureBox2.Image = Image.FromFile(Environ("appdata") & "\Wetterwarnung\Blids.jpg")

ladenRegenradar:
        On Error GoTo ladenWaldbrandkarte
        If Not (PictureBox3.Image Is Nothing) Then
            PictureBox3.Image.Dispose()
            PictureBox3.Image = Nothing
        End If

        My.Computer.Network.DownloadFile("http://www.dwd.de/bvbw/generator/Sites/DWDWWW/Content/Oeffentlichkeit/WV/WV11/Radarbilder/Radarfilm__default,property=default.bmp", Environ("appdata") & "\Wetterwarnung\Radar.bmp", "", "", False, 5000, True)
        PictureBox3.Image = Image.FromFile(Environ("appdata") & "\Wetterwarnung\Radar.bmp")

ladenWaldbrandkarte:
        On Error GoTo ladenFlächenbrandindex
        If Not (PictureBox4.Image Is Nothing) Then
            PictureBox4.Image.Dispose()
            PictureBox4.Image = Nothing
        End If

        My.Computer.Network.DownloadFile("http://www.agrowetter.de/Agrarwetter/bild_lesen.php?datei=wbx_stationen.png", Environ("appdata") & "\Wetterwarnung\Waldbrandgefahr.png", "", "", False, 5000, True)
        PictureBox4.Image = Image.FromFile(Environ("appdata") & "\Wetterwarnung\Waldbrandgefahr.png")

ladenFlächenbrandindex:
        On Error GoTo EndeladenKarten
        If Not (PictureBox5.Image Is Nothing) Then
            PictureBox5.Image.Dispose()
            PictureBox5.Image = Nothing
        End If

        My.Computer.Network.DownloadFile("http://www.agrowetter.de/Agrarwetter/bild_lesen.php?datei=wbx_fbxstationen.png", Environ("appdata") & "\Wetterwarnung\Graslandfeuer.png", "", "", False, 5000, True)
        PictureBox5.Image = Image.FromFile(Environ("appdata") & "\Wetterwarnung\Graslandfeuer.png")
EndeladenKarten:
        On Error GoTo 0

Gruß
Gerhard
 
Das Problem lag daran, das wenn der Server überlastet war, die Grafiken nicht bzw. fehlerhaft runtergeladen wurden. Jetzt überprüfe ich vor dem Einbinden der Grafik ob diese wirklich lokal vorhanden sind.

Gruß

Gerhard
 
Zurück