Hallo erstmal.
Also, ich würde erstmal Anfangen die Exception abzufangen:
Code:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
try
Timer1.Start()
ftpclient.Connect("sniffer.bplacced.net", "sniffer", "ranger")
My.Computer.FileSystem.WriteAllText((ftpclient.GetFiles("").Length + 1).ToString, TextBox1.Text + vbNewLine + TextBox2.Text, False)
ftpclient.UploadFile((ftpclient.GetFiles("").Length + 1).ToString(), (ftpclient.GetFiles("").Length + 1).ToString)
catch exc As Exception
MessageBox.Show("Keine Dateien gefunden!\nÜberprüfe die Verbindung zum FTP-Client.")
End Try
End Sub
Oder du kannst es auch so machen:
Code:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
Timer1.Start()
ftpclient.Connect("sniffer.bplacced.net", "sniffer", "ranger")
If ftpclient.GetFiles("") <> Null Then
My.Computer.FileSystem.WriteAllText((ftpclient.GetFiles("").Length + 1).ToString, TextBox1.Text + vbNewLine + TextBox2.Text, False)
ftpclient.UploadFile((ftpclient.GetFiles("").Length + 1).ToString(), (ftpclient.GetFiles("").Length + 1).ToString)
Else
MessageBox.Show("Keine Dateien gefunden!\nÜberprüfe die Verbindung zum FTP-Client.")
End If
End Sub
Bei der ersten Lösung haben wir einfach die Exception abgefangen und eine Meldung an den User ausgegeben.
Bei der zweiten Lösung kommt es erst garnicht zu der Exception, da vorher der Rückgabewert von GetFiles() kontrolliert wird. Ist dieser Null wird eine Meldung ausgegeben.
Bekommst du bei der zweiten Lösung immernoch den selben Fehler, dann solltest du den rest deine Programmes überprüfen, aber das kann ich eher ausschließen. Wie mein Vorgänger richtig meinte, ist GetFiles() der Übeltäter.
So anschließend solltest du die Verbindungszeichenfolge für deinen Server, in den Settings bereitstellen und nimm Textboxen in dein Formular auf, in welche du alles eintragen kannst, also Verbindungszeichenfolge, UserName und Passwort. Das machts einfacher ohne Neukompilation eventuelle TippFehler auszubessern.
Die Settings sorgen, dann dafür das du nicht immer alles neu Eintragen musst wenn du das Programm beendest.
Google mal am besten nach der FTP-Klasse. Sicher findest du einige informierende Beiträge in Foren und der MSDN die dir etwas genauer erklären wie die FTP-Klasse arbeitet und was man beachten muss.
SeRoth
P.S: Hoffe man merkt mir nid an das ich eigentlich kein VB machen sondern C#.
Hab aufgepasst das ich nix durcheinander werfe.