1.我以前的工程里面有ehlib.现在我已经完全抛弃这个控件了.我从工程文件BPR里面删除了这个控件的BPI了.程序里面也完全清除了ehlib控件了..但是我现在一打开BPR就提示project rule not found,如何解决

2.我使用idftp控件的时候,首先我要删除FTP上的文件..但是如果服务器上没有文件,idftp->list(TStringList(),AnsiString,false)就会报错..如何解决?

用notepad打开一个错误的工程文件(.bpr)和正确的工程文件(.bpr),然后根据这个正确的文件来修改那个错误的文件。

bpr文件需要用UltraEdit工具打开,并使用utf-8保存,否则就是这个错误,说明文件的编码不对了,bcb打不开这个文件,跟你修改的正确与否已经没有关系,即文件损坏。请找到备份的bpr,重新用UltraEdit编译,应该可以解决。

我很多升级或迁移的工程文件都存在这个问题,需要将不用的包从bpr文件中删除。

第一个问题已经解决…的确需要用UE~~我以前一直用记事本直接打开的…= =~

第二个问题呢..idFtp的问题…我的源代码如下:

C/C++ code
AnsiString Temp, sFilePsd; double Time; TStrings *tsBz = new TStringList(); int Day=int(EndTime->Date-StarTime->Date); pbInfo->Visible = true; pbInfo->Min = 0; pbInfo->Max = Day; try { for(int i=0;i<=Day;i++) { Time=StarTime->Date+i; Temp=DateTimeToStr(Time); Temp=ReSjgs(Temp); ToolBar->Panels->Items[0]->Text = "正在删除FTP服务器上本段于" + Temp + "导入的数据"; sFilePsd.printf("%s???%s.txt",sPsd,FormatDateTime("yyyymmdd", Temp)); IdFTP->List(tsBz, sFilePsd, false);//如果服务器上没有符合条件的文件就出错… for(int k = 0;k < tsBz->Count; k++) { IdFTP->Delete(tsBz->Strings[k]); } } } __finally { delete tsBz; }

提示什么信息?

不知道提示什么错误?
关于List的问题原来有一些帖子反映,我建议你使用NList命令再尝试一下。

程序没有提示报错..只是在运行的时候到list那句就出错了..看英文意思是找不到文件

可以增加try catch处理。或改用NList

idftp没有nlist方法…只能用catch了….完毕……郁闷下