vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Grafik und Font · Bilder und Icons   |   VB-Versionen: VB.NET15.01.07
Blockierung von Bilddateien verhindern (VB.NET)

Dieser Tipp zeigt, wie man verhindern kann, dass eine Bilddatei nach dem Einlesen in ein Bildfeld für weitere Dateizugriffe blockiert bleibt.

Autor:   Dieter OtterBewertung:  Views:  13.920 
www.tools4vb.deSystem:  WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11kein Beispielprojekt 

Wussten Sie, dass Bilddateien, die wie folgt eingelesen werden, bis zur Zerstörung des Bitmap-Objekts für Schreib- und Löschzugriffe gesperrt bleiben?

PictureBox1.Image = New Bitmap("d:\bild.gif")

Nein? Dann probieren Sie es einfach einmal aus. Starten Sie die Anwendung und versuchen anschließend die Bilddatei zu löschen. Windows quittiert Ihnen den Löschversuch mit der Meldung "Datei kann nicht gelöscht werden, da sie von einer anderen Person bzw. einem anderen Programm verwendet wird."

Um die Blockierung der Datei zu verhindern, sollte man diese über ein Stream-Objekt einlesen:

' Stream-Objekt erstellen und Datei zum Lesen öffnen
Dim oStream As New System.IO.FileStream("d:\bild1.gif", IO.FileMode.Open)
 
' Bitmap-Objekt mit den Daten aus dem Stream füllen
PictureBox1.Image = New Bitmap(oStream)
 
' Stream-Objekt und somit auch die Datei schließen
oStream.Close()

Sobald das Stream-Objekt geschlossen wurde, ist der Schreib-/Löschzugriff auf die Datei wieder möglich.
 



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle 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.