对于"FTPDirectoryList怎么不管用呀,文件数老是取得0值"的问题begincsdn是这样回答的:我还没试过
begincsdn(begincsdn) ( ) 信誉:100
在这里应该注意这句话,见BCB提供的帮助。
For each item listed, the OnListItem event is called.
每个Item被列出,OnListItem都会被调用,也就是说,有多少条目,OnListItem被调用多少次。
同时,如果这个命令调用成功的话,会触发OnSuccess事件。
也就是回调函数啦,这两个回调函数你自己得写了。
希望同样关注NList()成员函数。
注意几个问题是:TNMFTP创建的是一个线程,所以执行List时不会有延迟,会直接执行到下一句,而NMFTP1->FTPDirectoryList->name->Count只有在OnSuccess触发以后,其值才真的有效,你可以将正确的内容获取放在这个函数中实现。
简单代码如下
void __fastcall TForm1::FTPSuccess(TCmdType Trans_Type)
{
switch(Trans_Type)
{
case cmdList:
int NUM = NMFTP1->FTPDirectoryList->name->Count;
ShowMessage(IntToStr(NUM));