Fehler in meiner Sync funktion!?

thefaxx

Mitglied
Hallo Leute,

ich habe ein kleines Problem mit meiner Sync Funktion.
Die Funktion vergleicht Dateien und Ordner des "HomePath" mit "DestiPath",
um alle Unterordner mit einzubeziehen, ruft die Funktion sich selbst auf, wenn ein Ordner gefunden wurde. Liegt hier das Problem? Kann DIR() damit nicht umgehen?

Ich erhalte folgende Fehlermeldung:
"Die Dir-Funktion muss zuerst mit einem PathName-Argument aufgerufen werden."

Visual Basic:
    Public Function syncAll(ByVal HomePath, ByVal DestiPath)

        MyName = Dir(HomePath, vbDirectory)
        Do While MyName <> ""   ' Start the loop.
            If (GetAttr(HomePath & MyName) And vbDirectory) = vbDirectory Then
                ' If Directory
                If System.IO.Directory.Exists(DestiPath & MyName) Then
                    syncAll(HomePath & MyName & "\", DestiPath & MyName & "\")
                Else
                    ' Create if not exists
                    System.IO.Directory.CreateDirectory(DestiPath & MyName)
                    syncAll(HomePath & MyName & "\", DestiPath & MyName & "\")
                End If
            Else
                ' If File
                If System.IO.File.Exists(DestiPath & MyName) Then
                    ' Compare filedates
                    Dim modInfo = DateTime.Compare(System.IO.File.GetLastWriteTime(HomePath & MyName), System.IO.File.GetLastWriteTime(DestiPath & MyName))
                    ' Copy new file to location
                    If modInfo > 0 Then
                        System.IO.File.Delete(DestiPath & MyName)
                        System.IO.File.Copy(HomePath & MyName, DestiPath & MyName)
                    Else
                        System.IO.File.Delete(HomePath & MyName)
                        System.IO.File.Copy(DestiPath & MyName, HomePath & MyName)
                    End If
                Else
                    ' Copy file if not exists
                    System.IO.File.Copy(HomePath & MyName, DestiPath & MyName)
                End If
            End If
            MyName = Dir()   ' Get next entry.
        Loop

    End Function
 

Neue Beiträge

Zurück