在未安装Visual Studio 2008之前,我用Delphi开发了很多小软件,有操作服务器SQL的,有从局域网FTP服务器下载文件的;
但当我安装Visual Studio 2008之后,用Delphi开发的操作服务器SQL的程序还可以用,但从从局域网FTP服务器下载文件的程序就不能用了,这是为什么?
双击启动程序就一直等待,而且很慢,一直无法使用;但如果将网线断开了,该程序就能启动了(但这样不能下载文件)!
但当我安装Visual Studio 2008之后,用Delphi开发的操作服务器SQL的程序还可以用,但从从局域网FTP服务器下载文件的程序就不能用了,这是为什么?
双击启动程序就一直等待,而且很慢,一直无法使用;但如果将网线断开了,该程序就能启动了(但这样不能下载文件)!
解决方案 »
- TBitmap加载PNG然后画到其他画布上的透明问题
- 为什么在登陆系统的时候出现[DBNETLIB][ConnectiionOpen (Connect().]Sql Server不存在或拒绝访问提示,但还是可以访问数据库
- rave 报表怎么如何打印页小结
- 各位大哥,请问在Delphi中是怎么加密数据库连接字符串的,或直接提供一个加密的软件
- <請教> dbgrid的值如何添上顔色
- 请教外部调用成的问题!解决就给分!
- 哪能找到语音聊天的控件或源程序?
- 合作伙伴开发外挂,有能力有兴趣的加入!
- 如何在DEPHI中运用API函数取得当前活动的程序窗口标题??
- 请问在DELPHI下怎么比较两个文件是否一样?
- 打开一些工程文件提示“unable to insert an item”,只能重启Delphi
- 请问在DELPHI中有没有STRSTR函数?它的作用是什么?
^_^没遇到过这个情况,自己写的程序看看程序停在什么位置
SQL连接一般是tcp/ip连接,FTP服务的话不是很了解了
而其他用Delphi开发的从SQL里读写数据的程序暂时没有发现问题;
测试代码如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
IdFTP1.Host:='192.168.0.1';
IdFTP1.Username:='Anonymous';
IdFTP1.Password:='';
IdFTP1.Port:=21;
IdFTP1.Disconnect;
try
IdFTP1.Connect();
if IdFTP1.Connected then
begin
IdFTP1.ChangeDir('装机工具\更新程序\system');
{此处加上"IdFTP1.Get('UPDATE.INI','C:\Temp\UPDATE.INI',True);"句时,无法弹出"连接成功"提示框,如果不加上这句是可以的}
showmessage('连接成功');
end
else
showmessage('连接失败');
except
showmessage('无法连接')
end;
end;
测试代码如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
IdFTP1.Host:='192.168.0.1';
IdFTP1.Username:='Anonymous';
IdFTP1.Password:='';
IdFTP1.Port:=21;
IdFTP1.Disconnect;
try
IdFTP1.Connect();
if IdFTP1.Connected then
begin
IdFTP1.ChangeDir('装机工具\更新程序\system');
{此处加上"IdFTP1.Get('UPDATE.INI','C:\Temp\UPDATE.INI',True);"句时,无法弹出"连接成功"提示框,如果不加上这句是可以的}
showmessage('连接成功');
end
else
showmessage('连接失败');
except
showmessage('无法连接')
end;
end;
begin
IdFTP1.Host:='192.168.0.1';
IdFTP1.Username:='Anonymous';
IdFTP1.Password:='';
IdFTP1.Port:=21;
IdFTP1.Disconnect;
try
IdFTP1.Connect();
if IdFTP1.Connected then
begin
IdFTP1.ChangeDir('装机工具\更新程序\system');
{此处加上"IdFTP1.Get('UPDATE.INI','C:\Temp\UPDATE.INI',True);"句时,无法弹出"连接成功"提示框,如果不加上这句是可以的}
showmessage('连接成功');
end
else
showmessage('连接失败');
except
on e:exception do
showmessage('无法连接:'+e.message);
end;
end;
自家的东西都会搞出问题来,何况其它家的。
我试过12楼shuihan20e 的方法,结果提示如下,不知道是什么意思:无法连接:Socket Error # 10054
Connection reset by peer.
无法连接:Socket Error # 10054
Connection reset by peer.我昨天恢复系统没有安装VS2008时,是可以执行IdFTP1.Get('UPDATE.INI','C:\Temp\UPDATE.INI',True);
后来我边安装vs2008,边测试也没有问题(没有重启过电脑),今天上班重启电脑后就不能执行IdFTP1.Get('UPDATE.INI','C:\Temp\UPDATE.INI',True)
我想是因为安装VS2008后,重启时需要配置某个系统文件,导致无法从FTP下载文件下来.但不知道是哪个文件影响了Delphi的IdFTP1.Get命令,看来想学一下.net都不行了
难道Delphi里的Indy与Visual Studio不兼容吗?