none
Pfad von Benutzer wählen lassen... RRS feed

  • Frage

  • Hallo zusammen,

    Ich habe mich mal wieder anden Computer gesetzt und wollte ein Installationsprogramm schreiben, welches meine daten aus meinem Programm in einen vom Nutzer ausgewählten (Installations-)Ordner Kopiert:

    leider klappt das nicht so wie ich es mir vorstelle.                                                                                                                                                              Mein Code ist:

    Module1.vb

    public PathName as String

    Form1.show()

    Form3.vb

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
            Dim FileName As String = "DeinDateiName.csv"
            Dim FullPathName As String    ' Pfad + Dateiname
            Dim FBD As New FolderBrowserDialog

            FBD.ShowNewFolderButton = True
            If FBD.ShowDialog = Windows.Forms.DialogResult.OK Then
                PathName = FBD.SelectedPath

                FullPathName = IO.Path.Combine(PathName, FileName)
                MsgBox(FullPathName, MsgBoxStyle.Information)

            Else
                MsgBox("FolderBrowserDialog abgebrochen", MsgBoxStyle.Exclamation)
            End If
        End Sub

    Form4.vb

    Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim Quelle As String
            Quelle = "C:********************"
            FileCopy(Quelle, PathName)
        End Sub

    Er gibt bei mir aber immer eine Fehlermeldung mit den Worten "Interner Fehler" ab....

    Habt ihr vll. Vorschläge, wie ich es besser machen kann?. 

    Danke schon mal im Vorraus :-)

    Freitag, 27. Juli 2012 07:18

Alle Antworten

  • Hi,

    Ich krieg hier keinen "internen Fehler", sondern eine IOException, da in PathName nur "X:\Ordner" steht, Du aber für das Kopieren der Datei den Dateinamen im Ziel mit angeben musst.

    Bei dir würde es wahrscheinlich schon reichen, wenn Du schreiben würdest:

    PathName = FullPathName

    Natürlich erst, nachdem FullPathName auch gesetzt wurde :)


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Freitag, 27. Juli 2012 08:34
    Moderator
  • Hallo, 

    vielen Dank für deine Antwort, jedoch bekomme ich immer noch folgenden Fehler:

     

    INTERNER FEHLER:

    Unbehandelte Ausnahme im Debugger::HandleIPCEvent

    Ereignis-ID=0xc0000005, Eip=0x70fd6899.

    Prozess-ID=0x788 (1928), Thread-ID=0xc2c (3116)

    Weis jmd. was das bedeuten könnte? :)

    Freitag, 27. Juli 2012 10:06
  • Hi,

    schau mal bitte hier:

      http://www.google.de/#q=Debugger%3A%3AHandleIPCEvent

    Da gibt es wohl einige mögliche Ursachen.

    BTW: Mit welcher Visual Studio Version arbeitest Du da?


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Freitag, 27. Juli 2012 10:09
    Moderator
  • Ich arbeite mit Visual Studio 2010 Professional.

    Ich habe diese Software nun mal veröffentlicht, jedoch gibt es da die Fehlermeldung: Anwendungsfehler.

    Dieser Fehler muss mit dem oben genannten Code zusammenhängen, da das Programm einwandfrei ohne diesen Code funktioniert :/

    Freitag, 27. Juli 2012 10:17
  • Hast du schon mal ein zeilenweises Debuggen (oder zumindest mit Haltpunkten) probiert, und dir die Pfade ausgeben lassen?

    Wenn alle Pfade stimmen, und insb. die abschließend bei FileCopy eingesetzte Pfade einen sinnvollen Kopiervorgang vermuten lasse (also sowas wie X:/Pfad/Datei.Extension nach Y:/Pfad/), wäre zu überlegen ob es an viel grundlegenderen Sachen scheitern könnte. Als da wären: Platte voll, Zugriffsrechte, etc. Insb. diese zwei Hinweise in der Doku von FileCopy sollten darauf hindeuten:

    FileCopy-Funktion auf eine aktuell geöffnete Datei anzuwenden, wird ein Fehler ausgelöst.

    FileCopy auf dem lokalen Laufwerk setzt volle Vertrauenswürdigkeit voraus."

    Siehe: http://msdn.microsoft.com/de-de/library/microsoft.visualbasic.filesystem.filecopy.aspx

    Des weiteren finde ich die Beispiele bei Path.Combine relativ aussagekräftig. Wenn also dein erster Pfad bei PathCombine zufällig einen Dateinamen enthält, wird daraus u.U. Murks, der so nicht gewollt war:

    "When you combine 'c:\temp.txt' and 'subdir\file.txt', the result is:
    ' 'c:\temp.txt\subdir\file.txt'"

    Siehe: http://msdn.microsoft.com/de-de/library/fyy7a5kt.aspx

    LG, Dennis.

    Montag, 30. Juli 2012 08:44