使用TIdFTP的应用程序无法从Delphi 5迁移到Delphi 2009 ...损坏的上传

时间:2009-09-21 17:08:10

标签: delphi delphi-2009 indy

我写了一个使用TIdFTP的Delphi 5应用程序。多年来它一直很好用。它的唯一目的是上传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 MB文件的文件都会损坏。看起来字节已被删除,上传的文件比原始文件短(大约200字节)。

我的第一个想法是转移类型,所以我把它设置为二进制但超出此范围,我不知道。

任何想法?

谢谢你! 熔点

4 个答案:

答案 0 :(得分:0)

您使用的是什么版本的Indy?你试过最新的吗?
此外,您是否尝试过其他类型的文件(纯文本,可执行文件......)

答案 1 :(得分:0)

Delphi 5与Delphi 2009的最大区别在于Delphi 2009使用Unicode。也许你正在混合unicode和非unicode?接收ASCII,但是像UTF8一样对待它?

答案 2 :(得分:0)

和你的一样,我的第一个想法是转移不会发生二进制......这似乎更有可能是你的后续行动,更改文件名修复了问题。你有一个数据包嗅探器,你可以用来跟踪ftp对话吗?通过这样做,您将能够确定模式是否正确设置。

-don

答案 3 :(得分:0)

Delphi 5没有安装Indy组件。因此,您必须下载并自行安装。我从来没有让它上班。现在,我正在使用Delphi 7,它已经预先安装了它。所以,我从来没有遇到过Indy的问题。只有当我下载它才能使用它。