vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Speicher wird nicht wieder richtig freigegeben -> System.OutOfMemoryException 
Autor: Jojo
Datum: 11.08.11 09:20

Hallo,

ich brauche mal Hilfe:

Ich habe eine Funktion geschrieben, die Bilder beliebig umformen, beschneiden und drehen kann.
Das alles funktioniert prima. Das Problem ist aber dass ich einen Fehler bei der Programmierung gemacht habe und ich den nicht finden kann.

Der Speicher wird nicht freigegeben und immer nach eine paar Bildern kommt es zum

Eine nicht behandelte Ausnahme des Typs "System.OutOfMemoryException" ist in System.Drawing.dll aufgetreten.

Ich denke, dass das Problem in der Rückgabe der Funkionen liegt. Ich denke das ist der Punkt wo der Speicher nicht freigegeben wird - aber ich bekomme es nicht hin

Ich habe mal ein mini Projekt (vb.2010) erstellt:
Das beinhaltet die Funktion und eine Schleife, die ein Bild 100 umwandeln soll. Bei mir kommt es nach 14 Bildern zum Speicherüberlauf.

Ich habe das mal hier hingelegt:
http://ww2.kompashop.de/Bilder_auf_anderen_seiten/Test_PicConvert.zip

Ich schicke demjenigen, der mir die Funktion so umbaut, dass der blöde Speicher freigegeben wird ne Kiste Bier ...

Joachim
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Speicher wird nicht wieder richtig freigegeben -> System.OutOfMemoryException 
Autor: ModeratorDaveS (Moderator)
Datum: 11.08.11 09:38

Da hilft schneller die Forumsuche.
http://www.vbarchiv.net/forum/id10_i67868t67866_image-objekt-nach-laden-wieder-freigaben.html

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Speicher wird nicht wieder richtig freigegeben -> System.OutOfMemoryException 
Autor: Jojo
Datum: 11.08.11 09:53

Hey Dave,

cooler Tipp. Funktioniert damit! Ich habe das so nicht finden können

für alle die das nachvoll ziehen wollen ...

Diese Funktion bringt Speicher zum überlaufen:
        ' Originalbild laden
        Dim originalBild As Image = Nothing
        Try
            originalBild = Image.FromFile(sFile)
        Catch
            '...
        End Try
und diese funktioniert:

        ' Originalbild laden
        Dim originalBild As Image = Nothing
        Try
            Using ms As New IO.MemoryStream(IO.File.ReadAllBytes(sFile))
                originalBild = Image.FromStream(ms)
            End Using
        Catch
            '...
        End Try
Daaaaaanke!!!

Joachim

Joachim

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel