Freigabe von Dateien

29/06/2009 - 07:58 von Jakob Brunner, Luzern Switzerland | Report spam
Salü zàme
Ich lese für die Darstellung von Thumbnails mehrere Grafikdateien (JPG) mit
der Bitmap.FromFile-Methode in einer Schleife ein. Die Filebezeichnungen
entnheme ich einer Datenbank. Dies funktioniert zur vollen Zufriedenheit.

Nun möchte ich beim Löschen eines Datensatzes die darin refrenzierte
Grafikdatei aus dem Filesystem löschen. Dies würde ich mit
Windows.IO.File.Delete machen. Wenn ich diesen befehl anwende, so bekomme ich
die Meldung, dass der Löschvorgang nicht durchgeführt werden kann, weil die
Datei von einem anderen Prozess noch nicht reigegeben ist.

Ich habe versucht, am Ende der Einleseschleife mit der methode
Bitmap.Dispose() die Ressourcen wieder freizugeben. Doch dies führt zu keinem
besseren Erfolg.

Hat jemand Erfahrungen wie man geschickt die Dateien wieder freigeben kann,
damit zu einem angezeigtes Bild die Grafikdatei aus dem Filesystem gelöscht
werden kann.

Danke für eure Hilfestellung...
Jakob Brunner, Switzerland
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
29/06/2009 - 08:44 | Warnen spam
Hallo Jakob, Luzern Switzerland,

"Jakob Brunner, Luzern Switzerland" schrieb:

Ich habe versucht, am Ende der Einleseschleife mit der methode
Bitmap.Dispose() die Ressourcen wieder freizugeben. Doch dies fà¼hrt zu keinem
besseren Erfolg.



zeig doch mal bitte den relevanten Code. Ohne den ist das mehr oder weniger
Ràtselraten und meine Glaskugel hat heut morgen gekündigt :(

Da ich nicht weiß, was genau Du da wie aufrufst und was Du mit dem Bild dann
machst, versuch einfach mal alle Objekte, die in irgendeiner Form auf die
Datei verweisen, zu "disposen". Wenn alle Referenzen weg sind, sollte das
problemlos klappen.

http://msdn.microsoft.com/de-de/lib...701f5.aspx

Zitat:
Die Datei bleibt gesperrt, bis die Image freigegeben wird.
bzw.
The file remains locked until the Image is disposed.

Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

Ähnliche fragen