我写一个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 MB的文件的文件损坏。它看起来像字节已被删除并上传的文件比原来的短(约200个字节)。

我首先想到的是传输类型,所以我将它设置为二进制,但除此之外,我不知道。

任何想法?

谢谢! 熔点

有帮助吗?

解决方案

什么版本的Indy您使用的是?你有没有试过最新的一个?点击 此外,你有没有试着用其他类型的文件(纯文本,可执行...)

其他提示

Delphi 5中和2009年的Delphi之间的最大区别在于,的Delphi 2009使用Unicode。也许你混合unicode和非unicode吗?接收ASCII,但它处理像UTF8例如?

像你这样,我首先想到的就是转移没有发生二进制...这似乎更容易给你的跟进,更改文件名,解决了这个问题。你有,你可以用它来跟随FTP会话中的数据包嗅探器?通过这样做,你就可以肯定地告诉如果模式被设置正确。

-don

Delphi 5中不具有已安装印组件。所以,你必须下载并安装它自己。我从来没有得到它的工作。现在,我用Delphi 7和它已经有了它预装。所以,我从来没有与印地问题。它只有当我下载使用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top