Das ist keine eingehende Verbindung - sein FTP-Server ist im LAN!
Hm, du bist aber eine harte Nuss... lol
Irgendwas machst du da falsch...
Error: _FTP_Connect()
Du bekommst ja nicht mal einen Connect hin... der Rest ist dann zwangsweise auch nicht erfolgreich.
Da KEINE Verbindung zum Server hegestellt werden konnte, wurde somit ergo auch KEINE Datei heruntergeladen, sondern lediglich eine Datei zur Vorbereitung des Downloads von _FTP_ProgressDownload() lokal auf deinem PC geöffnet...
...was die Ursache dafür ist, dass im Fehlerfall nach Beenden des Programms eine leere Datei zurückbleibt. Die Datei kann man dann natürlich getrost löschen... aber weitaus intelligenter ist es, solche Fehler von vornherein zu vermeiden, indem erst eine Verzeichnisliste vom Server geholt wird, um sie dann mit _ArraySearch() zu durchsuchen, bevor ein File gedownloadet werden soll, dass es gar nicht gibt. Wurde der Dateiname im Array mit "no case sensitive" gefunden, kann man den Dateiname aus dem Array verwenden, um den Download zu starten, ohne weiter über die richtige Schreibweise (klein GROSS oder mIxEd???) nachdenken zu müssen.
...
Local $aRemoteFiles = _FTP_ListToArray($hFTPSession, 0)
If $aRemoteFiles[0] = 0 Then _Error() ; Abbruch, Exit oder Bier holen... ;-)
If _ArraySearch($aRemoteFiles, $sLocalFileName, 1, 0, 0, 1) Then _Download($aRemoteFiles[0], $sLocalPath)
...
Natürlich gibt es noch zig andere Ursachen, warum ein Download nicht klappt... z. B. wegen fehlender Berechtigungen... 'jens' meldet sich am Server an und will eine Datei downloaden, doch die gehört leider dem User 'root'.
Nun habe ich ein weiteres Test-Programm für dich erstellt... ein etwas ausgefeilteres... ist aber noch nicht ganz fertig.
Darin setze ich vorab dann auch den Maximalwert für 'CONNECT_TIMEOUT' & 'RECEIVE_TIMEOUT' - der Wert für CONNECT und RECEIVE und auch die Anzahl der Verbindungsversuche ist natürlich einstellbar, ebenso die Pause(n) dazwischen, wobei aber klar sein sollte, dass veränderte TIMEOUT-Werte keine Auswirkungen auf das Verhalten des Servers haben... was u. A. auch an den extremen Zeitunterschieden bis zum Erscheinen einer Fehlermeldung erkennbar ist, je nachdem, welcher Server gerade mit im Spiel ist. Bei einem im LAN installierten FTP-Server kam die Rückmeldung so schnell, dass ich nicht einmal genügend Zeit hatte, meinen Stinkefinger von der F5-Taste zu nehmen.
So gesehen bedeutet dies im positiven Sinne aber auch, dass der Server bereit ist und auf Anfragen reagiert... falls nicht, dann liegt oder sitzt der Fehler eindeutig auf der Seite des Clients - ca. 20 - 60 cm vor dem Monitor.
Es werden noch etliche andere Dinge überprüft... z. B. ob der $sServername (Name oder IP) korrekt angegeben wurden und ob auf ein Ping geantwortet wird.
Desweiteren habe ich in der FTPEx.au3 ein paar sehr markante und interessante Stellen gefunden, die mir aufgezeigt haben, dass ich die Fehlerbehandlung in meinem neuen Script noch wesentlich verbessern kann - das will ich erst noch alles checken... und dank BugFix habe ich jetzt so allmählich auch den Durchblick mit DllCall's.
Ich werde schätzungweise Morgen im Laufe des Tages damit fertig sein... mal schauen... ich schiebe es hoch, sobald es fertig ist.
Poste dann anschließend die Ausgabe von Debug() wieder hier... aber bitte setze sie in einen Spoiler!
Nachtrag: Hast du denn mit FileZilla und/oder Co. eine Verbindung herstellen können?