Fehler beim kopieren von Unterordnern und Dateien

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von VaporiZed.

    Fehler beim kopieren von Unterordnern und Dateien

    Hallo, ich versuche ein Backup Programm zu schreiben komme aber hier nicht weiter. Erbringt mir beim Kopieren die Fehlermeldung System.NullReferenceException: "Die Objektvariable oder die With-Blockvariable wurde nicht festgelegt." Ich bin Anfänger und hab keine blassen Dunst wie ich weiter vorgehen soll..... Danke schon einmal

    Der Code:

    VB.NET-Quellcode

    1. Dim sDirs() As String = System.IO.Directory.GetDirectories(quelle)
    2. Dim sDir As String
    3. For i As Integer = 0 To sDirs.Length - 1
    4. If sDirs(i) <> ziel Then
    5. sDir = sDirs(i).Substring(sDirs(i).LastIndexOf("\") + 1)
    6. 'Hier bringt er den Feheler System.NullReferenceException: "Die Objektvariable oder die With-Blockvariable wurde nicht festgelegt."
    7. FileSystemObject.CopyFolder(sDirs(i), ziel & "\" & sDir, True)
    @Projekt1 Willkommen im Forum. :thumbup:
    Zunächst sehe ich, dass bei Deinem Code ein End If und ein Next fehlt.
    Solch sollte immer vollständig gepostet werden.
    Wenn der Code darin unerheblich ist, nimm ein '....
    VB.NET ist eine objektorientierte Sprache.
    Wenn Du ein derartiges Objekt verwendest, musst Du es zunächst mit New instanziieren.
    Ich nehme mal an, dass FileSystemObject = Nothing ist.
    Fang gleich mit dem Lernen des Debuggens an, ohne das kommst Du nicht weiter :!:
    Debuggen, Fehler finden und beseitigen
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    VB-Fragen über PN / Konversation werden ignoriert!
    Ein Willkommen im Forum auch von meiner Seite.
    FileSystemObject? Das ist doch VBS! Arbeitest Du mit eingebundenem Windows Scripting Host? VB.Net hat doch genügend eigenes Material, Stichwort IO.FileInfo, IO.DirectoryInfo, notfalls IO.File, IO.Directory. Dann kannst Du auch Zeile#5 umgestalten und muss da nicht mit Stringpfriemelei arbeiten.
    Als Anfangsprojekt ein Backupprogramm ... das ist mal ein sportlicher Anfang.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.