Hallo All!
habe folgenden Programmcode (Ausschnitt) bei mir durchgetestet (auf div. Kisten) läuft sauber.
Ein Kunde setzt das auf Terminalserver ein:
es tritt folgendes Problem auf:
im Protokoll (Funktion _protoutput) ist zwar schön vermeldet, daß die Datei sauber kopiert worden ist, aber der (Kontroll) FileGetSize bekommt anscheinend ne andere Dateigröße zurückgemeldet und im Protokoll steht dann:
nicht korrekt kopiert.
Habe heute mal einen
sleep(500) (also halbe Sekunde warten) noch eingebaut nach dem _FTPGetfile
leider meinen Kunden nicht mehr erreicht, ob das Problem dann weg ist, beim ersten Test heute früh sind von 12 Dateien alle 12 per FTP geholt worden, aber nur 2 auf dem Server drüben gelöscht worden.
Gibts evtl. ne andere Möglichkeit, daß sofortige Schreiben der Datei auf dem lokalen Datenträger zu erzwingen, leider ist es sehr schwierig bei der ftp.au3 voll durchzusteigen.
Will das Programm zum Dienst ausbauen. daß ich zeitgesteuert per ftp Dateien holen (FTP get) und auch Schreiben kann (FTP put).
Besteht hier evtl. Interesse von noch anderen daran??
Hatte mal kurz im Internet nach ner fertigen Lösung geschaut, hab aber nichts gefunden.
Es Dankt und grüßt Euch
German
gennant: DER INTEGRATOR
$holes=_FTPGetfile($Conn, $rf , $lf,1,0)
; msgbox(0,"holes wert", $holes)
if $holes=1 then
_protoutput($PROT, "Datei " & $FileInfo[10] & " mit Größe " & $FileInfo[9] & " erfolgreich kopiert")
if FileGetSize($lf) = $fileInfo[9] then ;Dateigröße local gleich der auf dem ftp gelisteten nur bei ASCII!!!!
$loeschen=_FTPDelFile($Conn, $rf)
if $loeschen =1 then
_protoutput($PROT, "Datei " & $rf & " gelöscht")
_okkommcheck2($PROT, $lf)
Else
_protoutput($PROT, "FEHLER: Datei " & $rf & " konnte nicht gelöscht werden")
EndIf
Else
_protoutput($PROT, "FEHLER: Datei " & $rf & " nicht korrekt übertragen")
EndIf
EndIf