有这种可能没?这样我就知道我的程序是否是最新版了。或者哪位高人指教一下怎么搞好版本控制?我的程序用在好几个地方,经常弄不清是不是都更新为最新版了,所以这里请教一下!

解决方案 »

  1.   

    项目选项那里有相关设置.Project->Option
      

  2.   

    Project->Option...->Version Info->Include version information in project 打上勾。
    然后修改 Module version number
      

  3.   


    LZ 还可以修改companyname 文件版本。 公司名称等。
      

  4.   

    按照楼上的各位所说的设置
    然后使用Cnpack,可以每次编译自动修改版本号
      

  5.   

    cnpack很强……
    Project->Option...->Version Info->Include version information in project
      

  6.   

    各位说的version info我还是知道的,但我是想在编译的exe文件名后自动跟上此次编译后的版本号,例如我的文件是Project1.exe,我希望第一次编译后delphi可以自动给我增加为Project11.0.0.1.exe,第二次为Project11.0.0.2.exe。我想这么说,大家应该明白我的问题了吧?另外那个cnpack可以实现这个功能吗?如果可以还请指教具体方法,谢谢!
      

  7.   

    使用编译工具吧,如 FinalBuilder,编译、取版本号、加密、改名、用RAR压缩、FTP上传...你想怎么都行。
      

  8.   

    楼上都是一堆半懂不懂的人,
    我来详细解释一下版本号的使用。
    Project->Option...->Version Info->Include version information in project 打上勾还需要在increse  verion per-build上面打钩然后你每次build 注意一定是BUILD不是complie软件就会自动升一个版本号,对exe文件点右键,就能在属性中看到版本号。
    但是实际我们应用中是希望版本号出现在程序的标题栏里面或者是关于里面,谁老去看属性呢。
    用下面的的函数取得当前程序的版本号。function GetBuildInfo: string; 
    {********************************** 
    功能:取得程序版本号 
    更新时间:20031111 
    ***********************************} 
    var 
     VerInfoSize: DWORD; 
     VerInfo: Pointer; 
     VerValueSize: DWORD; 
     VerValue: PVSFixedFileInfo; 
     Dummy: DWORD; 
     V1: word; 
     V2: word; 
     V3: word; 
     V4: word; 
    begin 
     VerInfoSize := GetFileVersionInfoSize(PChar(ParamStr(0)), Dummy); 
     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; 
     FreeMem(VerInfo, VerInfoSize); 
     Result := IntToStr(V1) + '.' + IntToStr(V2) + '.' + IntToStr(V3) + '.' + IntToStr(V4); 
    end; 
      

  9.   

    GetFileVersionInfoSize之后记得判断一下返回值VerInfoSize是否为0,否则后面的操作是无法操作的。我现在的做法是在主菜单上面直接显示版本号,这样子用户就能够很方便地看到版本号。其中GetVersion的代码跟14楼差不太多。只是默认返回值为0.0.0.0,并对GetFileVersionInfoSize的返回值做了判断。做法是:
    procedure TfrmAdapterMain.FormCreate(Sender: TObject);
    begin
      nmAbout.Caption := nmAbout.Caption +' V'+GetVersion;
    ...