Y
yecloudy
Unregistered / Unconfirmed
GUEST, unregistred user!
我想实现的功能很简单。
就是有一个列表框。里面有很多个ftp,我一点某个ftp,另外一个列表框就列出该ftp的目录。
就是这么简单的功能。问题在于:
1。如果ftp没开的话,应该能自动断开。
2。如果ftp要有密码的话,能捕捉到该错误,防止出错。
谁能提供一个例程的,给100分,(不要告诉我看demo,我已经看了,但防止出错这一part太差了)。
邮箱:pb90@21cn.com.
验收后就给分。
我用demo时出现的问题:
indy的问题:
1。如果21端口有开,但ftp没开的话,indy就一直在connnecting。。。,过一会就报错,
说“socket connection time out”,是系统报错。indy本身是没有timeout属性的。
在demo的源码中:
。。。。。。。。。。。。。。。。。。
else
with IdFTP1do
try
User := UserIDEdit.Text;
Password := PasswordEdit.Text;
Host := FtpServerEdit.Text;
Connect;//没有任何保护防错的
Self.ChageDir(CurrentDirEdit.Text);
SetFunctionButtons(true);
SaveFTPHostInfo(FtpServerEdit.Text, 'FTPHOST');
finally
ConnectButton.Enabled := true;
。。。。。。。。。。 。。。。。
就是有一个列表框。里面有很多个ftp,我一点某个ftp,另外一个列表框就列出该ftp的目录。
就是这么简单的功能。问题在于:
1。如果ftp没开的话,应该能自动断开。
2。如果ftp要有密码的话,能捕捉到该错误,防止出错。
谁能提供一个例程的,给100分,(不要告诉我看demo,我已经看了,但防止出错这一part太差了)。
邮箱:pb90@21cn.com.
验收后就给分。
我用demo时出现的问题:
indy的问题:
1。如果21端口有开,但ftp没开的话,indy就一直在connnecting。。。,过一会就报错,
说“socket connection time out”,是系统报错。indy本身是没有timeout属性的。
在demo的源码中:
。。。。。。。。。。。。。。。。。。
else
with IdFTP1do
try
User := UserIDEdit.Text;
Password := PasswordEdit.Text;
Host := FtpServerEdit.Text;
Connect;//没有任何保护防错的
Self.ChageDir(CurrentDirEdit.Text);
SetFunctionButtons(true);
SaveFTPHostInfo(FtpServerEdit.Text, 'FTPHOST');
finally
ConnectButton.Enabled := true;
。。。。。。。。。。 。。。。。