在未安装Visual Studio 2008之前,我用Delphi开发了很多小软件,有操作服务器SQL的,有从局域网FTP服务器下载文件的;
但当我安装Visual Studio 2008之后,用Delphi开发的操作服务器SQL的程序还可以用,但从从局域网FTP服务器下载文件的程序就不能用了,这是为什么?
双击启动程序就一直等待,而且很慢,一直无法使用;但如果将网线断开了,该程序就能启动了(但这样不能下载文件)!

解决方案 »

  1.   

    你怎么不去Delphi的区问,这里是搞C#的,没人知道Delphi,而搞Delphi的多少有人装过Visual Studio 2008吧
      

  2.   

    我装了Visual Studio 2005,用的也是D7,但是没有啥影响啊
      

  3.   

    兄弟穿越了哦
    ^_^没遇到过这个情况,自己写的程序看看程序停在什么位置
    SQL连接一般是tcp/ip连接,FTP服务的话不是很了解了
      

  4.   

    使用其他ftp软件来连接你的ftp服务器看看可以用么?把你的ftp客户端拿出来重新编译一下,或者调试一下,可能vs2008更新了某些dll导致你的程序出现了问题
      

  5.   

    我试过直接打开IE访问Ftp服务器是可以的,我Delphi编辑的程序是用的Indy组件,我将原程序拿来编译也不行,我在网上直接下来软件(也是用的Indy组件)也不行,不知道还有什么控件可以连接FTP并下载文件?估计是安装vs2008时动了系统什么文件,该如何解决?
      

  6.   

    我试过,用Indy连接FTP服务器没有问题,一旦用IdFTP1.Get()语句下载文件就会出问题,下载文件是0字节,手工下载不存在这样的问题!
      

  7.   

    我也是VS2008和delphi 一起装,没有楼主所说的问题啊
      

  8.   

    关键是Delphi写的从FTP下载文件的程序,用的是Indy组件,当下载文件时就会占用系统资源很高,而且一个8K的文件也无法下载,未装VS2008之前是可以的;
    而其他用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;
      

  9.   

    我也用的delphi7,也装了vs2008没影响。你可以在本地随便写个简单的测试程序,看有影响没?
      

  10.   

    我写了,我重新用Delphi写了一个FTP下载程序,也会出现同样的问题,见{}处说明,如下:
    测试代码如下: 
    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;
      

  11.   

    重新编译下看看,捕获下异常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 
              on e:exception do 
                showmessage('无法连接:'+e.message); 
            end; 
    end;
      

  12.   

    而且你连office 2007也会装不上。
    自家的东西都会搞出问题来,何况其它家的。
      

  13.   

    我用的是office2003,应该跟这个没有多大关系哟;
    我试过12楼shuihan20e 的方法,结果提示如下,不知道是什么意思:无法连接:Socket Error # 10054
    Connection reset by peer.
      

  14.   

    我反复试了n次,连接FTP没有问题,只是下载文件时使用IdFTP1.Get('UPDATE.INI','C:\Temp\UPDATE.INI',True)这句时就没有反应,不会出现下面的提示:
    无法连接: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都不行了
      

  15.   

    现在可以肯定是安装VS2008软件的问题了,因为我把VS2008卸了之后,重启一次电脑就可以了,看来我与.net无缘呀!!
      

  16.   

    是Delphi自带的那个INDY,好像是9.0的版本!
      

  17.   

    我换了Indy组件版本也不行,我改用Visual Studio2005版还是不行,郁闷!
    难道Delphi里的Indy与Visual Studio不兼容吗?