Auto Update

Posted on 2006-10-21 14:42 小蚂蚁 阅读(146) 评论(0)  编辑  收藏 所属分类: C++Builder 相关
上网找了很多资料,关于自动升级的实现都是基于web的,对我手头上的基于LAN的程序没有帮助,既然程序是数据库的应用,那为什么不把升级的程序放到数据库里呢?mysql的blob字段有长度限制,大概800K左右,要做分段处理,但BCB的Stream机制可以很方便的解决问题。

        TMemoryStream* memStream = new TMemoryStream();
        TFileStream* fStream = new TFileStream("update.exe",fmCreate);
        while (!update->Eof)
        {
          update->GetBlob("Data")->SaveToStream(memStream);
          memStream->SaveToStream(fStream);
          update->Next();
        }
        delete memStream;
        delete fStream;

多优雅的处理,BCB写数据库应用好得没话说。

只有注册用户登录后才能发表评论。


网站导航: