Hi,
bin mal wieder am Verzweifeln, da ich den Fehler nicht finde.
Ich habe ein Script geschrieben, was sich an einer bestimmten Stelle mit einem FTP-Server verbindet.
Es ist nicht so, dass sich das Script beim start verbindet, und beim beenden die verbindung trennt.
Es wird per Funktion eine liste vom FTP Server geladen, und das kann beliebig oft passieren (sooft die Funktion eben aufgerufen wird).
Und genau darin liegt das problem.
Der Abschnitt ist folgender:
$FTP = _FTP_Open ("myftp")
$FTPconnect = _FTP_Connect ($FTP, $IP, $FTPID, $FTPPW)
_FTP_DirSetCurrent($FTPconnect,"\User\"&$ID)
If @error Then
_FTP_DirCreate($FTPconnect, "\User\"&$ID)
_FTP_DirSetCurrent($FTPconnect,"\User\"&$ID)
EndIf
$datei_array = _FTP_ListToArrayEx($FTPconnect)
_ArrayDisplay ($datei_array)
_FTP_Close ($ftp)
Sobald ich das Programm starte, die Funktion aufrufe, funktioniert alles wunderbar.
Sobald ich nun aber eine Datei vom FTP Server lösche (oder eine weitere Hochlade), die Zeilen ein weiteres mal aufrufe, bleibt die Liste wie beim ersten Aufruf.
Egal wie ich den FTP Server verändere, die dateien die von _ArrayDisplay angezeigt werden sind immer die gleichen wie beim ersten Aufruf.
Ich habe mal mit einem FTP Admin Tool den FTP Server überwacht, während ich das ganze testete.
Dabei ist mir aufgefallen, dass die Zeile "Opening Data channel for directory list" auch nur beim ersten aufruf der Funktion erscheinen.
Das heißt, es liegt am _FTP_ListToArrayEx($FTPconnect).
Es funktionniert nur einmal?!
Wüsste auch nicht wie ich es sonst lösen könnte...