社区
Delphi
帖子详情
版本升级问题(分不夠再加)
eyusir
2004-07-31 07:21:21
一:如果檢測版本不是最新版(版本信息從哪裡讀,版本信息又是怎樣加到執行文件中的,為何D6選項中設置版本信息後,編緝後不改變);
二:舊版本升級到新版本,怎麼升,是怎樣替換掉舊執行文件。
...全文
164
9
打赏
收藏
版本升级问题(分不夠再加)
一:如果檢測版本不是最新版(版本信息從哪裡讀,版本信息又是怎樣加到執行文件中的,為何D6選項中設置版本信息後,編緝後不改變); 二:舊版本升級到新版本,怎麼升,是怎樣替換掉舊執行文件。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
inforum
2005-08-16
打赏
举报
回复
huiwww(十足菜鸟) 的回答很好,楼猪却不给分
xlyyc
2005-03-15
打赏
举报
回复
mark
eyusir
2004-08-06
打赏
举报
回复
To: risingsoft(一苇渡江)
谢谢
能否把第二个问题说详细点。
risingsoft
2004-08-03
打赏
举报
回复
1、当然,检测版本的另外一个方法是读取EXE文件修改时间。
2、自动更新需要启动其它升级程序,给其传递升级参数。升级程序启动时关闭要升级的EXE,进行UPDATE操作,最简单的是CopyFile(source,dest)
risingsoft
2004-08-03
打赏
举报
回复
程序的版本号当然用户可用标签之类的组件自己写上,但有时大家发现,现在有点流行如:Build 4.1.5.137这样的版本号。这样的版本号一般都不是手工输入了,而是提取的程序自身的版本号。程序自身的版本号在哪里控制呢?执行Project菜单下的“Options”功能,在打开的窗口中有一个“Version Info”页面,在这个页面中,用户可设定这四个版本号初始数据,也可以随时根据程序的功能是否有大的变化升级主版本和次版本号,将“Auto Increment build number”前的复选框选中,以后每当用户用Project菜单下的“Build all Projects”功能时,最后的build编号将自动增加1。一般来说,在前面的三个号不变时,最后的编号越大说明程序的更新时间最近。在这个页面上还有一些其他功能如公司名称等等可以设定,读者自己试试吧。
现在我们来说明如何用代码获得这四个编号。下面是获取这四个版本号的通用函数代码,用户直接调用即可:
function GetBuildInfo: string;
var
VerInfoSize: DWORD;
VerInfo: Pointer;
VerValueSize: DWORD;
VerValue: PVSFixedFileInfo;
Dummy: DWORD;
V1, V2, V3, V4: Word;
begin
VerInfoSize := GetFileVersionInfoSize(PChar(ParamStr(0)), Dummy);
if VerInfoSize = 0 then begin
Dummy := GetLastError;
Result := '0.0.0.0';
end; {if}
GetMem(VerInfo, VerInfoSize);
GetFileVersionInfo(PChar(ParamStr(0)), 0, VerInfoSize, VerInfo);
VerQueryValue(VerInfo, '\', Pointer(VerValue), VerValueSize);
with VerValue^ do begin
V1 := dwFileVersionMS shr 16;
V2 := dwFileVersionMS and $FFFF;
V3 := dwFileVersionLS shr 16;
V4 := dwFileVersionLS and $FFFF;
end;
Result := IntToStr(V1) + '.'
+ IntToStr(V2) + '.'
+ IntToStr(V3) + '.'
+ IntToStr(V4);
FreeMem(VerInfo, VerInfoSize);
end;
调用示例:
version.caption:='版本号: '+GetBuildInfo;//version是一个标签组件。
GoldShield
2004-08-03
打赏
举报
回复
没弄明白
BigAngell
2004-07-31
打赏
举报
回复
自己弄个文件保存还是可行的
xjlqlqlq
2004-07-31
打赏
举报
回复
版本信息從哪裡讀: 可以读exe文件创建时间进行比较.....
huiwww
2004-07-31
打赏
举报
回复
我采用的是FTP,用控件idftp,
在ftp服务器上放一个版本信息文件,比如version.ver,用记事本打开并在里面输入2004080101,然后你启动程序的时候连接到ftp服务器上,然后down文件version.ver,
接着读取文件version.ver的内容,与程序的版本信息进行比较(以可以将版本的信息用label控件显示,在取得文件version.ver的内容后于label的caption进行比较),如果文件version.ver的内容的值大于label的caption值,你就下在你要更新的文件,
更新文件你可以先压缩成rar,然后在下载完以后再退出程序,启动解压程序,把下载的文件加压就行了(注:解压程序自己做)
超酷论坛EDD8 Ver.2003 for DV
升级:(对519),解压后把你的原519数据库覆盖现数据库,再执行根目录下的UPDATE。ASP文件就行了,如果没有升级成功的提示,说明你的数据不能进行升级! (注意:数据库的升级应做了备份,并在本机上进行!) =...
Android SQLite数据库
版本升级
(分逐级升级和跨
版本升级
)
参考:Android Sqlite数据库跨
版本升级
保存之前数据 本文说的数据库升级是基于Android原生APISQLiteOpenHelper实现的逻辑,不涉及第三方库。其实如果使用官方推荐的Room库的话,可以利用RoomDatabase.Builder....
基于深度学习的垃圾图像分类
Pytorch项目实战 垃圾分类 课程从实战的角度出发,基于真实数据集与实际业务需求,结合当下最新话题-垃圾分类
问题
为实际业务出发点,介绍最前沿的深度学习解决方案。 从0到1讲解如何场景业务...
MySQL大小
版本升级
步骤
MySQL大小
版本升级
Coredata的
版本升级
在开发的后期,可能因为完善和修复功能,需要对Coredata数据库表进行修改,这样就需要对CoreData进行
版本升级
。 比如你修改了DB字段以后,用户在旧版本上升级为新版本时会crash. 因为升级只升级了应用app,没有升级...
Delphi
5,388
社区成员
262,730
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章