vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2021
 
zurück

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

VB.NET - Ein- und Umsteiger
Datei wird verwendet 
Autor: Stümper
Datum: 31.05.20 07:01

Guten Morgen,
ich habe ein kleines Programm geschrieben welches mir alle *.jpg Dateien auf allen Festplatten sucht und angezeigt.
Wenn ein Bild doppelt ist, lasse ich es mir in einer Picturebox anzeigen und entscheide dann, ob es gelösccht werden soll oder nicht.

Wenn ja, erhalte ich bei dem Löschbefehl

My.Computer.FileSystem.DeleteFile(ListView3.Items(us).Text,
FileIO.UIOption.AllDialogs,
FileIO.RecycleOption.SendToRecycleBin)

die Meldung


DieDatei wird verwendet

sie kann nicht gelöscht werden, da sie in der Dateiverwaltung geöffnet ist.
Schließen Sie die Datei und wiederholen sie den Vorgang.


Wie schließe ich so eine Datei in der Dateiverwaltung?

Dank für jeden Tipp
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datei wird verwendet 
Autor: Manfred X
Datum: 31.05.20 12:58

Hallo!

Falls Du aus einer Bilddatei ein Bitmap erstellst (z.B. Konstruktor),
bleibt diese Datei als Stream geöffnet.
Das bewirkt Deine Ausnahme!

Lade die Datei in einen "Memorystream" und erstelle die Bitmap aus
diesem Stream.

Du kannst auch versuchen, die ImageLocation-Methode der WinForms.Picturebox
zu nutzen.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datei wird verwendet 
Autor: Stümper
Datum: 01.06.20 01:05

Recht herzlichen Dank Manfred X

Ich habe mein Problem so gelöst:

Private Sub StreamBild()
Dim BitM As Bitmap = Bitmap.FromFile("Mein Bild")
PictureBox1.Image = New Bitmap(BitM)
BitM.Dispose()
End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datei wird verwendet 
Autor: Manfred X
Datum: 02.06.20 07:55

Mit diesem Code erstellst Du nach dem Laden der Bilddatei
eine neue Bitmap im Speicher. Diese Instanz ist unabhängig von
der Bilddatei und wird deshalb nach deren Entfernung in der
Picturebox weiterhin angezeigt

Wenn Du die Picturebox verwendest, kannst Du effizienter deren
"ImageLocation"-Eigenschaft auf die Bilddatei setzen.
Dadurch wird diese Datei nicht gesperrt und nach dem Löschen,
Verschieben oder Umbenennen der Datei wird auch das Bild in
der Picturebox nicht länger angezeigt.
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-2021 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