Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set 'Version info' in Delphi XE7? [Delphi design issue]

I just upgraded one of my projects from Delphi XE to XE7. The version info for 'All platforms/All configurations' global target (should I call it 'base'?) was copied correctly from the old project.

Company name: xxx
File version: 3.2.1
etc

However, when I checked the sub-targets (32 bit /release, 32 bit /debug, etc) they are all set to ''. So they don't copy/inherit the info from 'All platforms/All configurations'.

Company name: ''
File version: 1.0.0
etc

How do I force the sub-targets to inherit from 'All platforms/All configurations'.


UPDATE: It seems to be a design issue with Delphi XE7. The sub-targets stay in sync as long as you DON'T edit them. A 'Sync sub-targets to main target' button is missing from that window. There is also a BUG close related to this (see my answer for details).

like image 886
Server Overflow Avatar asked Jan 23 '15 10:01

Server Overflow


1 Answers

This is a bug in the IDE (Delphi XE7).

How to reproduce:

  1. Set the main target to version 1.0.0.0.
    Save project.
    Restart IDE.
    All sub-targets are in sync.

  2. Now open the DPR and edit anything in it. Save it. Set the main target to version 2.0.0.0.
    Save project.
    Restart IDE.
    The current sub-target (the one that was active while you edited the DPR file) is not in sync anymore. It will get stuck to 1.0.0.0

Solution:
Close the project in IDE. Open the DPROJ file in a text editor (not in IDE!) and deleted the entries containing the wrong version info, for ex. where VerInfo_MajorVer=1 instead of 2.

like image 57
Server Overflow Avatar answered Oct 21 '22 21:10

Server Overflow