tags:

views:

181

answers:

1

Hello. I currently use

Type
  TDelphiSignature=record
    Signature:array [0..3] of LongWord;
    Version:string;
  end;
const
  DelphiSignature:array [0..2] of TDelphiSignature=(
    (Signature:($384F3D26,$B83782C2,$034224F3,$833A9B17);Version:'Delphi Entreprise'),
    (Signature:($235D7823,$19F3A5B6,$0240F343,$C711D126);Version:'Delphi Perso'),
    (Signature:($98DF8CA2,$793A3C7B,$093F7126,$17252A0F);Version:'Delphi Pro')

// ... );

as Version signatures of Delphi exe. I'm looking for other 'DVCLAL RCDATA' signatures, such as ones for Architecture version, and more important, for Version Numbers (6,7,8,9,10 ...) visible in the resource data. Tks.

+4  A: 

The signature generated by RAD Studio 2010 Architect is the same one you have for Enterprise. The DVCLAL resource only tells you the particular Edition of Delphi/BCB used. Individual Delphi/BCB compiler version numbers are not stored or encoded anywhere in the compiled executable.

Update: I found this to be some useful information about the inner working of the DVCLAL resource:

http://assarbad.net/stuff/!export/dvclal/jeremyres.html

Remy Lebeau - TeamB
Thanks - « Delphi/BCB compiler version numbers are not stored or encoded anywhere in the compiled executable » ... so there is no way to know the version. This is definitive?
volvox
Pretty much. About the only way to determine the particular version, AFAIK, is to manually analyze the DFM resources and PE import/export tables looking for version-specific VCL properties and functions. That is not going to be very reliable.
Remy Lebeau - TeamB