0

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 バイト)。

私の最初の考えは転送タイプだったので、バイナリに設定しましたが、それ以上はわかりません。

何か案は?

ありがとう!mp

4

4 に答える 4

0

Delphi 5 と Delphi 2009 の大きな違いは、Delphi 2009 が Unicode を使用することです。Unicode と非 Unicode を混同しているのではないでしょうか? ASCII を受け取りますが、たとえば UTF8 のように扱いますか?

于 2009-09-21T19:50:47.637 に答える
0

あなたのように、私の最初の考えは、転送がバイナリで行われていないということです...これは、ファイル名を変更すると問題が解決するというフォローアップを考えると、より可能性が高いようです。ftp の会話を追跡するために使用できるパケット スニファーはありますか? そうすることで、モードが正しく設定されているかどうかを確実に知ることができます。

-ドン

于 2009-09-21T19:53:44.813 に答える
0

Delphi 5 には、Indy コンポーネントがまだインストールされていません。そのため、自分でダウンロードしてインストールする必要があります。私はそれを機能させたことはありません。現在、Delphi 7 を使用していますが、すでにプレインストールされています。だから、私はインディで問題を抱えたことはありません。ダウンロードして使用する場合のみです。

于 2010-06-28T12:54:18.653 に答える
0

使用している Indy のバージョンは何ですか? 最新のものは試しましたか?
また、他のタイプのファイル(プレーンテキスト、実行可能ファイル...)で試しましたか

于 2009-09-21T18:26:21.557 に答える