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
相关产品推荐
相关产品推荐

