将升级后的程序放在Server   机子中,Client   端就能自动下载更新。如果有   
  如此的Demo   程序,请发给我。谢谢

解决方案 »

  1.   

    procedure UpdateNewVersion(FileName:String);
    var
      n1,n2: String;
      f1,f2: Boolean;
      h1,h2: Integer;
    begin
    // ACurrentPath,AServerPath: 系统public变量
      n1 := ACurrentPath+FileName;
      n2 := AServerPath+FileName;
      
      f1 := FileExists(n1);
      f2 := FileExists(n2);  if f1 and f2 then
      begin
        h1 := FileOpen(n1,fmOpenRead);
        h2 := FileOpen(n2,fmOpenRead);
        if FileGetDate(h1) <> FileGetDate(h2) then CopyFile(pChar(n2),pChar(n1),False);
        FileClose(h1);
        FileClose(h2);
      end
      else if not f1 and f2 then
        CopyFile(pChar(n2),pChar(n1),False)
      else
      begin
        Windows.MessageBox(0,pChar(FileName+' 程式未找到!'),'提示',48);
        exit;
      end;
    end;
      

  2.   

    CBX RIA框架就是典型的客户端自动升级,这个框架几乎是国产多层框架中最好的一个,同时体现SmartClient和RIA思想,配合FastReport,能够很好的开发Web Report 
    这里是Demo: 
    Demo(需要客户端初始化): 
    http://117.21.247.37/cbx/AppSvr.dll/Splash.ao 
    这里是配合FastReport开发BS版Report的Demo: 
    http://117.21.247.37/cbx/AppSvr.dll/oc.ao
      

  3.   

    这段代码应该是放在客户端?放在主窗体的formcreate事件代码中?
      

  4.   

    放在客户端的公共程式里.
    执行表单或报表前调用该函数.如:
      UpdateNewVersion('invp20301.fr3');
      frxReportM.LoadFromFile(extractFilePath(Application.ExeName)+'\invp20301.fr3');
      

  5.   

    如果是拨号上网,或是挂在局域网上的计算机(不在Internet上),含有Client 端自动升级功能的应用软件在启动后会怎样? 
      

  6.   

    最简单的办法是://获得需要升级的文件列表
    MyStream := TMemoryStream.Create;
    try
      IdHTTP1.Get(FileNameURL, MyStream);
      MyStream.SaveToFile(FileName);
      MyStream.Free;
    except
      StatusBar1.Panels[0].Text := '错误:' + IdHTTP1.ResponseText;
      MyStream.Free;
    end;
    这可不是最好的办法哦,如果想开发出象杀毒软件那样自动升级的程序,那可是相当麻烦的
      

  7.   

    要么自己做个服务器,要么自己搞个web的服务器,通过网址去取文件