正在阅读:软件的版本更新检查实现软件的版本更新检查实现

2004-11-01 15:25 出处:CSDN 作者:Raptor 责任编辑:linjixiong

  还是在“PIA-MyPhotoGallery”中,为了能让使用者及时知道软件的更新版本发布,我增加了自动更新检查功能。鉴于这种功能具有很好的实用价值,所以写本文说明此功能的实现。

  要实现更新检查,需要解决两个方面的问题:

  1、通过Internet获取最新发布的版本号;
  2、取得当前程序的版本,并与取得的最新版本相比较。

  如果检查到有新版本发布,则打开下载页面(至于直接下载更新本文暂不讨论)。

  对于第一个问题,最简单的解决办法就是在网站上发布新版本软件的同时,发布一个记录着版竞诺奈募T谌砑邪姹炯觳槭保ū热绯绦蚱舳保ü齀nternet下载此文件,并读出最新的版本号。

  注意:此方法仅适用于简单更新的情况,对于像杀毒软件的病毒库这样增量更新的情况,这种简单方法是不合适的,通常还需要有相应的服务端程序配合才行。

  要通过Internet下载文件有很多方法,比如用WinINet API或现成的控件都可以。本文以Indy的TIdHTTP控件为例。

  TIdHTTP控件的用法非常简单,但是直接使用它下载会有一个问题:程序会被阻塞着,直到文件被下载或连接超时(比如网络未连接)。所以必须将它放到线程中处理。

  在PIA-MyPhotoGallery中,我用的代码如下:


  //---------------------------------------------------------------------------
  //  Get new version thread
  class TGetNewVersionThread : public TThread
  {
  private:
  AnsiString      FURL;
  TMFileVersion * FVer;
  protected:
  void __fastcall Execute( );
  public:
  __fastcall TGetNewVersionThread( AnsiString aURL )
  : TThread( true ), FURL( aURL ), FVer( new TMFileVersion( ) )
  {
  FreeOnTerminate = true;
  }
  __fastcall ~TGetNewVersionThread( ) { delete FVer; }
  __property TMFileVersion * Version  = { read=FVer };
  };




察看评论详细内容 我要发表评论
作者笔名简短内容 发表时间
:

键盘也能翻页,试试“← →”键

相关文章

关注我们

最新资讯离线随时看 聊天吐槽赢奖品