Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7007715
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T21:38:35+00:00 2026-05-27T21:38:35+00:00

In Delphi XE2 the automatically generated build numbers functionality now uses some kind of

  • 0

In Delphi XE2 the automatically generated build numbers functionality now uses some kind of date and time generated values, like this:

2.4.4386.838

The last two numbers change each time you build and are based on the current date and time:

Major = 2 (user defined)
Minor = 4 (user defined)
Release = 4386 (number of days since Jan 1 2000)
Build = 838 (number of seconds since 00:00:00)

I guess this new format for Release and Build numbers was borrowed from the .NET implementation which does something very similar. In .net, the last number (Build) is equal to the number of seconds since midnight local time, divided by 2. See this link for details on .net implementation: Determining Build Date the hard way

If this can be relied upon to stay this way, then now we have a better way to determine the compilation time instead of

  1. Using IDE plugins

  2. Using PE Headers hacks

The questions is not how to return to the old autoincrement version numbers functionality.

The questions is does XE2 really use the date and time as I showed above, starting from Jan 1, 2010 and adding days and seconds in Build and Release numbers?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T21:38:36+00:00Added an answer on May 27, 2026 at 9:38 pm

    The encoding cannot be what you think it is. The release and numbers are packed into a single 32 bit DWORD. That means that there are only 16 bits available for all the seconds in a day. There are 86400 seconds in a day which is greater than 216.

    Rather oddly the Delphi implementation appears to wrap around when it reaches 216 seconds, ~18.2 hours. So at the moment, it is 22:50 in my time zone (UTC), but the auto generated release number is 16753, or around 4.6 hours. Add back the missing 18.2 hours from the wrap around and bingo, it’s 22:50.

    It looks like the Visual Studio people got it right, because they took the number of seconds after 00:00 and divided by 2. It would also appear therefore that the Delphi auto generated release numbers will not be monotone increasing with time, will not be unique and so on.

    This seems to me to be a bug which I have submitted as QC#102343. Note that the bug was introduced in XE2 update 3. It was not present in previous versions. Note also that the handling of the release number has changed from update 2 to update 3.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Delphi 2009 uses build configurations . When you create a new project you have
I have an application written in delphi-xe2, now i'm adding VCL styles support, So
I am trying to use the randomrange function in Delphi XE2 but for some
In Delphi XE2, I have a single control in a pair of design/run time
I'm building a multi-threaded windows service application in Delphi XE2 which uses ADO database
Delphi 2009, among some cool stuff, has also just got Anonymous methods. I've seen
Delphi XE2. There is a form & a frame. The form and the frame
The Delphi XE2 skinning option is fantastic, but there are cases where you want
In Delphi XE2, I'm trying to overload the in operator on a record to
I have ZipForge for Delphi XE2 & Delphi XE2. I try to test any

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.