You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Delphi IdFTP如何检查文件条目类型?使用ditFile遇E2003错误

Delphi IdFTP 编译错误:未声明标识符 ditFile

我编写了如下Delphi IdFTP代码:

FTP.Connect;
FTP.Login;
FTP.List;
StatusBar.Panels[0].Text := 'Connessione FTP riuscita';
For I := 0 to FTP.DirectoryListing.Count - 1 do
begin
  if (FTP.DirectoryListing[I].ItemType <> ditFile) then continue;
  lstFTPFiles.Items.Add(FTP.DirectoryListing[I].FileName + #9)
end;

其中if (FTP.DirectoryListing[I].ItemType <> ditFile) then continue;这一行出现编译错误:

E2003: Undelcared identifier: ditFile

我在Stack Overflow的示例中看到该语法,请问是否需要通过uses引用或声明相关内容才能使用ditFile常量?


解决方法

  • 必须在代码的uses子句中添加IdFTPList单元,ditFile这个枚举值是定义在该单元内的,没有引用的话编译器无法识别。
  • 注意不同Indy版本的差异:部分旧版Indy中,文件类型对应的枚举值是ftFile而非ditFile,如果添加IdFTPList后仍报错,可以尝试将ditFile替换为ftFile再编译。

内容的提问来源于stack exchange,提问作者realtebo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 16:19:57