关于CFtpFileFind的问题

sjtukking 2010-06-22 05:49:15
我的代码如下:
int CLHFtp::ListServerFiles(CString condition, CComboBox *pBox)
{
int filecount = 0;
CString FtpPath = condition;
bool show = false;
if(pBox != NULL)
show = true;
if(show)
{
pBox->ResetContent();
}
if(m_pFtpConnection==NULL)
return filecount;
CFtpFileFind ftpfind(m_pFtpConnection);
BOOL bfind=ftpfind.FindFile(FtpPath);

while(bfind)
{

bfind=ftpfind.FindNextFile();
CString strpath=ftpfind.GetFileTitle();



if(ftpfind.IsDirectory() )
{

}

else
{
if(show)
pBox->AddString(strpath);
filecount++;
}




}

return filecount;
}

奇怪的是假如有找到文件(数目和文件名都正确),在最后return filecount执行后,程序就死掉了。在某些机器上会,某些又不会。
请问哪位有碰到过,很头疼!
...全文
171 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sjtukking 2010-06-23
  • 打赏
  • 举报
回复
会不会和网速有关。
在退出这个函数的时候,CFtpFileFind会执行到析构函数。看看是否是析构函数做某些清理工作的时候卡住。
--我又尝试了一下,加上ftpfind.Close()就好了。

谢谢大家
cdsnpeter 2010-06-23
  • 打赏
  • 举报
回复
会不会和网速有关。
在退出这个函数的时候,CFtpFileFind会执行到析构函数。看看是否是析构函数做某些清理工作的时候卡住。
sjtukking 2010-06-23
  • 打赏
  • 举报
回复
什么意思??卡住了???
--是卡住了,程序UI弹不出来了。单步在return filecount执行后卡住

会不会文件太多》。
还是要看程序具体死掉的原因
--文件没几个

try catch一下,看看什么抛出了异常
--有试过,并没有什么异常,同样是执行return filecount后死掉

有没有跟踪,或者debug日志,是不是因为什么事件触发没有搞????
等待事件??
--没有其他等待事件,这时的vc里的debug信息没有异常,而且在某些机器上执行是ok的

感谢大家帮助!
lijianli9 2010-06-22
  • 打赏
  • 举报
回复
有没有跟踪,或者debug日志,是不是因为什么事件触发没有搞????
等待事件??
killgodman 2010-06-22
  • 打赏
  • 举报
回复
try catch一下,看看什么抛出了异常
oyljerry 2010-06-22
  • 打赏
  • 举报
回复
会不会文件太多》。
还是要看程序具体死掉的原因
Eleven 2010-06-22
  • 打赏
  • 举报
回复
在最后return filecount执行后,程序就死掉了
------------------------------------------
什么意思??卡住了???

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧