приложение, использующее TIdFTP, не мигрирует с Delphi 5 на Delphi 2009 ... поврежденные загрузки - PullRequest
0 голосов
/ 21 сентября 2009

Я написал приложение Delphi 5, которое использует TIdFTP. это отлично работает в течение многих лет. единственная цель - загрузить файл Excel.

object ftp: TIdFTP
  OnStatus = ftpStatus
  IPVersion = Id_IPv4
  AutoLogin = True
  Host = 'somewhere.ca'
  Passive = True
  Password = 'guess'
  TransferType = ftBinary
  Username = 'xray'
  ProxySettings.ProxyType = fpcmNone
  ProxySettings.Port = 0
end

Я недавно перешел на Delphi 2009, так как перезагрузил свой компьютер, а Delphi 5 исчезла.

приложение по-прежнему выглядит так, как будто оно работает, но - большую часть файла 1,5 МБ файл становится поврежденным. похоже, что байты были удалены, а загруженный файл короче исходного (примерно на 200 байтов).

Моей первой мыслью был тип передачи, поэтому я установил его в двоичный, но кроме этого, я не знаю.

есть идеи?

спасибо! Т. пл

Ответы [ 4 ]

0 голосов
/ 28 июня 2010

Delphi 5 не имеет установленного компонента Indy. Таким образом, вы должны загрузить его и установить его самостоятельно. Я никогда не заставлял это работать. Теперь я использую Delphi 7, и он уже был предварительно установлен. Так что у меня никогда не было проблем с Инди. Это только когда я загружаю его для использования.

0 голосов
/ 21 сентября 2009

Большая разница между Delphi 5 и Delphi 2009 заключается в том, что Delphi 2009 использует Unicode. Может быть, вы смешиваете Unicode и Non-Unicode? Получать ASCII, но обрабатывать его, например, как UTF8?

0 голосов
/ 21 сентября 2009

как и у вас, я сначала подумал, что передача не происходит в двоичном формате ... это кажется более вероятным, если учесть, что изменение имени файла решает проблему. у вас есть анализатор пакетов, который вы можете использовать для отслеживания FTP-разговора? сделав это, вы сможете точно определить, правильно ли установлен режим.

-don

0 голосов
/ 21 сентября 2009

Какую версию Indy вы используете? Вы пробовали последнюю версию?
Кроме того, вы пробовали с другими типами файлов (простой текст, исполняемые файлы ...)

...