读书人

把上传indy idftp.put()放到线程中 小

发布时间: 2012-02-16 21:30:36 作者: rapoo

把上传indy idftp.put()放到线程中 我写的总报内存错误?急
我的上传过程是这样的首先选择上传路径 用listview列举出要上传的文件
listview.checkboxes =true 可以选择多个文件或单个文件上传

循环listview 开始上传选中的文件

fstream := TFileStream.Create(lvItem.SubItems[0],fmOpenRead);
ftpClient.Put(fstream,lvItem.Caption,false);

我创建了线程单元 本想调用整个函数 可总报内存错误
后来 实在不行只把 put 一步 放到线程里 也报错
刚刚接触线程 多多指教!



[解决办法]
上传部分 放到线程里执行是可以的!
但是你不要寄望Indy自己没Bug!
对Indy源码的必要修改有时候是必要的
[解决办法]
在你的线程里面用CoInitialize初始化一下
线程结束的时候要记得CoUninitialize;

读书人网 >.NET

热点推荐