Fragensteller
Pfad von Benutzer wählen lassen...

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 SubForm4.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 SubEr 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 :-)
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 -
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? :)
-
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 -
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 :/
-
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.