救命!通过treeview获取ftp服务器目录树结构问题。200分送上。 ( 积分: 200 )

  • 主题发起人 主题发起人 GiveMeMagic
  • 开始时间 开始时间
G

GiveMeMagic

Unregistered / Unconfirmed
GUEST, unregistred user!
我已实现通过客户端的treeview获取ftp服务器目录树结构,并在treeview的charge事件中,对树型目录中已选中的文件夹列出其中的文件列表,但在测试中遇到两个问题:1、对树型目录中的文件夹进行快速的有变化的选择时,程序报错(有间隔的点击,点几百次都不会错),列出文件列表的方法是ftp控件的chargedir(路径)与nlist;2、nlist方法在connect时,每获得一个文件时,就会触发listitem事件,但在对树型目录中的文件夹进行选择时,nlist不触发listitem事件了,为何?
 
我已实现通过客户端的treeview获取ftp服务器目录树结构,并在treeview的charge事件中,对树型目录中已选中的文件夹列出其中的文件列表,但在测试中遇到两个问题:1、对树型目录中的文件夹进行快速的有变化的选择时,程序报错(有间隔的点击,点几百次都不会错),列出文件列表的方法是ftp控件的chargedir(路径)与nlist;2、nlist方法在connect时,每获得一个文件时,就会触发listitem事件,但在对树型目录中的文件夹进行选择时,nlist不触发listitem事件了,为何?
 
帮个忙!人呢?急急!
 
在线等候,请富翁们给点建议。
 
增加一个执行控制,执行的过程中不允许变化目录

var Runing:boolean;

procedure TForm1.TreeView1Change(Sender:TObject);
begin
if Runing then exit; //正在执行,退出
Runing:=true;
try
……
finally
Runing:=false;
end;
end;

或者更严格一点
procedure TForm1.TreeView1Change(Sender:TObject);
begin
TreeView1.enabled:=false;
try
……
finally
TreeView1.enabled:=true;
end;
end;

end;
 
http://delphibbs.com/delphibbs/dispq.asp?lid=2478536
 
没人救援就自己解决了。哈```哈````````问题解决了,把NMFtp控件换成IDFtp控件即可。经过一夜的奋战,终于实现了通过treeview获取ftp服务器目录结构,并能在treeview目录中浏览文件列表与文件,添加、改名、删除、上传、下在文件夹与文件。改善了通过listbox浏览单个文件夹的局限性,实现了ftp服务器目录的全貌浏览与快速跳转定位功能。

虽然没有用上楼上两位富翁的方法,但还是得感谢你们,分数就均分了吧!:)
 
多人接受答案了。
 
我现在也遇到跟你差不多的问题。
我用idftp,但是文件夹下不来,希望能给我发点东西,学习一下,谢谢!
henry_wuxingwei@126.com
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部