Доброго времени суток! Столкнулся с проблемой:
Если раскоменнтировать закоментированные строки, то условие сработает, но файл не скачается. Сначала решил, что дело в размере файла, но ошибся. Почему-то выражение $ImgDll = _FTP_FileGetSize($FTPConnect,"./img.dll") вызывает огромную нагрузку на ЦП, эти несколько строк обрабатываются секунд 30, хотя по такому же алгоритму проверялись другие файлы и все было ок. Прочитал про функцию возврата размера файла с FTP подробнее, оказывается она возвращает размер файла как uint64. Почитал в MSDN, но ничего не понял. Может кто-нибудь сможет объяснить. Приведенный исправно качает файл, а если убрать комментарии, то условие будет истинным, но качаться ничего не будет, а будет УДАЛЯТЬСЯ файл, даже, если он есть на диске. Даже если проверка стоит по img.dll, а качается другой файл, то другой файл беспощадно удаляется. Кошмар. :stars:
Код:
;$ImgDll = _FTP_FileGetSize($FTPConnect,"./img.dll")
;If $ImgDll<>0 Then
FileWriteLine($ErrorLog,"["&@MDAY&"."&@MON&"."&@YEAR&" "&@HOUR&":"&@MIN&":"&@SEC&"] StartOR: Файл Img.dll найден на сервере. Его размер в байтах: "&$ImgDll)
_FTP_DirSetCurrent($FTPConnect,"/")
_FTP_FileGet($FTPConnect,"./img.dll",".\Settings\img.dll")
if FileExists(".\Settings\img.dll") Then
MsgBox(0,_FTP_FileGetSize($FTPConnect,"./img.dll"),"Файл на диске!")
EndIf
FileWriteLine($ErrorLog,"["&@MDAY&"."&@MON&"."&@YEAR&" "&@HOUR&":"&@MIN&":"&@SEC&"] StartOR: Файл Img.dll скачан в директорию .\Settings\img.dll")
Return $ImgDll
; Else
; FileWriteLine($ErrorLog,"["&@MDAY&"."&@MON&"."&@YEAR&" "&@HOUR&":"&@MIN&":"&@SEC&"] StartOR: Файл Img.dll не найден на сервере: "&$Server)
;Return 0
; EndIf
Если раскоменнтировать закоментированные строки, то условие сработает, но файл не скачается. Сначала решил, что дело в размере файла, но ошибся. Почему-то выражение $ImgDll = _FTP_FileGetSize($FTPConnect,"./img.dll") вызывает огромную нагрузку на ЦП, эти несколько строк обрабатываются секунд 30, хотя по такому же алгоритму проверялись другие файлы и все было ок. Прочитал про функцию возврата размера файла с FTP подробнее, оказывается она возвращает размер файла как uint64. Почитал в MSDN, но ничего не понял. Может кто-нибудь сможет объяснить. Приведенный исправно качает файл, а если убрать комментарии, то условие будет истинным, но качаться ничего не будет, а будет УДАЛЯТЬСЯ файл, даже, если он есть на диске. Даже если проверка стоит по img.dll, а качается другой файл, то другой файл беспощадно удаляется. Кошмар. :stars: