vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

VB.NET - Fortgeschrittene
<Wichtig!> Datei wird von einem anderen Prozess verwendet? 
Autor: Griever
Datum: 19.07.07 11:35

Hi

Ich habe mir eine Funktion gebastelt, welche einen Ordner kopieren soll. Mit allen Unterordnern. Theoretisch funktioniert die Funktionprima. Jedoch stellt sich beim kopierern von Dateien ein schwerwiegendes Problem heraus:

Möchte ich die eine Datei dann letztendlich wirklich kopieren, bekomme ich die System.IO.Exception, dass die datei von einem anderen Prozess verwendet wird. Dies passiert jedoch bei ALLEN dateien. Ich habe es mit dem Unlocker nachgeprüft (direkt nach der Fehlermeldung) und kein handle auf ein anderen Prozess festgestellt.

Bitte kann mir jemand sagen, was an dieser Funktion hier falsch läuft:

Private Sub Button1Click(sender As System.Object, e As System.EventArgs)
    Dim I As ListViewItem
    For Each I In ListView2.Items ' Die Aufgabenliste mit je Quell und 
    ' Zielordner als vollständige Pfade
        Dim rf As String = I.Text.Trim() ' Der Quellordner
        listView1.Items.Clear() ' Fortschrittsliste leeren
        label3.Text = "Lese Verzeichnis aus." ' Status
        label3.Update() ' Update Status
        recFolder(rf,listView1) ' Rekursives Auslesen und in die 
        ' Fortschrittsliste schreiben (ordner ... dateien, unterordner usw.)
        Dim a As ListViewItem ' Item zum durchgehen der Liste
        For Each a In listView1.Items
            Try
	            Dim FolderPath As String = a.Text.Trim() ' Quellpfad der Datei/des 
' Ordners
	            Dim NewFolderPath As String = FolderPath.Replace(I.Text.Trim( _
  ),I.SubItems(0).Text.Trim()) ' Zielpfad der Datei/des Ordners
	            If System.IO.Directory.Exists(FolderPath) = False Then  ' Prüfen, 
' ob Ordner oder Datei
                   label3.Text = "Kopiere Datei: " & FolderPath.Replace( _
                     I.Text.Trim(),"") ' Status
                   label3.Update()
	                System.IO.File.Copy(FolderPath,NewFolderPath,True) ' Datei 
' kopieren (HIER ENTSTEHT DER FEHELR!)
	            Else ' Ist es ein Ordner ... dann ...
	                If System.IO.Directory.Exists(NewFolderPath) = False Then ' 
' Existiert Zielordner schon?
	                    label3.Text = "Erstelle Verzeichnis: " & NewFolderPath ' 
' Wenn nein, erstellen und Statusausgabe.
                        label3.Update()
	                    System.IO.Directory.CreateDirectory(NewFolderPath)
	                End If
	            End If
               a.SubItems(1).Text = "OK" ' Status des aktuellen Eintrages auf 
               ' Ok setzen, wenn kein Fehler auftritt
	            a.BackColor = Color.LightGreen ' Farbe setzen bei keinem Fehler
	        Catch ex As Exception ' Fehler abfangen
               If ex.ToString().ToLower().IndexOf("another process") > -1 _
                 Then ' Bisher bekannte Fehlerkombinationen abfragen (ist 
               ' bisher nur dies gewesen)
                   a.SubItems.Add("Wird verwendet!") ' Fehler eintragen.
               Else
	                a.SubItems.Add("Fehler") ' Unbekannte Fehler als "Fehelr" _
  abstempeln
               End If
            End Try
        Next
    Next
    label3.Text = "" ' Status löschen
    label3.Update()
End Sub
Ich hoffe, mir kann jemand helfen. Ich bin am verzweifeln. Denn ich kann mir nicht erklären, warum er mir diese Fehlermeldung gegen den Kopf wirft.

MFG
Griever
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
<Wichtig!> Datei wird von einem anderen Prozess verwen...997Griever19.07.07 11:35
Re: <Wichtig!> Datei wird von einem anderen Prozess ve...524Melkor19.07.07 12:06
Re: <Wichtig!> Datei wird von einem anderen Prozess ve...506Griever19.07.07 12:11

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-2025 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