[版本构造]给delphi生成的软件增加版本信息

来源:互联网 发布:输入网络密码来连接到 编辑:程序博客网 时间:2024/05/17 04:36

本文地址:http://blog.csdn.net/sushengmiyan/article/details/10309117

本文作者: sushengmiyan

技术交流群:337503096

在使用其他软件的时候,我们可以使用鼠标右键,查看信息的时候,看到软件的版本信息。

那么我们的delphi生成的软件怎么含有版本信息呢?

这个好办,对于delphi来说,其IDE就自己附带了这么一个功能,我使用的是delphi 2007版本。

打开IDE,Project-Options-Vertion Info

勾选Include VertionInfomation In project


好了,编译这个之后,查看exe文件的信息。你就可以看到你的版权信息咯


嗯。这个简单吧。是的啊。对于这样的版本信息,简单容易操作。

但是可能我们有时候不仅需要对EXE增加版本信息,还需要对dll或者其它包文件增加版权信息。那又该如何让操作呢?

嗯。也很简单。

首先,我们需要定义一个版本的资源文件。就以sushengmiyan.rc来举例吧。

里面内容如下:

VS_VERSION_INFO VERSIONINFOFILEVERSION 2013,8,25,2100PRODUCTVERSION 2013,0,0,0FILEOS 0x40004FILETYPE 0x1BEGIN  BLOCK "StringFileInfo"  BEGIN    BLOCK "080404B0"    BEGIN      VALUE "Comments", "苏生软件\0"      VALUE "CompanyName","sushengmiyan.\0"      VALUE "FileDescription", "苏生QQ营销软件系列\0"      VALUE "FileVersion", "2013.8.25.2100\0"      VALUE "InternalName", "sushengQQ"      VALUE "LegalCopyright", "(C) sushengmiyan. All rights reserved.\0"      VALUE "LegalTrademarks", "(C) sushengmiyan Corp. Ltd."      VALUE "ProductName", "sushengmiyan(R) Application\0"      VALUE "ProductVersion","2013.0\0"    END  END  BLOCK "VarFileInfo"  BEGIN    VALUE "Translation", 0x804,1200  ENDEND

然后使用delphi 2007的brcc32编译一下,生成.res文件,将这个文件放置在你项目目录下,然后在资源引入中增加这个,如下代码列表

program QmsgProj;uses  Forms,  QMsgMainFrm in 'Forms\QMsgMainFrm.pas' {Form1};{$R *.res}{$R sushengmiyan.res}begin  Application.Initialize;  Application.MainFormOnTaskbar := True;  Application.CreateForm(TForm1, Form1);  Application.Run;end.


需要注意的一点是{$R *.res}不是包含所有资源文件,只是增加一个项目同名文件而已,所以{$R sushengmiyan.res}必须要增加哦。

编译完成之后,你看生成的文件就有版本信息了。如下:

看懂有团乱码,应该是drcc32的问题,稍后再调试一下吧。

 

说下刚才遇到的两个问题:

1.批处理

我是在里面这样写的

@eco on
brcc32
f:
cd F:\Src\QMsg\Build
brcc32 sushengmiyan.rc

pause

但是执行到brcc32的时候出现这个错误fatal error could not create interface withrw32core.dll

于是我将rw32core.dll也拷贝到这个目录下,OK问题解决了。

 

乱码的问题,我现在再看看吧,谁来帮我解决下啊。万谢。

原创粉丝点击