Hallo,
unter D7 verwende ich folgenden Code um die Versionsnummer der Anwendung auszulesen:
Delphi-Quellcode:
function GetFileVersion(const FileName: String): TVersionInfo;
var
VerInfoSize : Integer;
VerValueSize : DWord;
Dummy : DWord;
VerInfo : Pointer;
VerValue : PVSFixedFileInfo;
begin
//Größe des Datei-Version-Info auslesen
VerInfoSize := GetFileVersionInfoSize(PChar(Filename), Dummy);
//Größe vorhanden?
If VerInfoSize <> 0 then
begin
//Speicher setzen
GetMem(VerInfo, VerInfoSize);
try
//Version auslesen
If GetFileVersionInfo(PChar(Filename), 0, VerInfoSize,VerInfo) then
If VerQueryValue(VerInfo, '\', Pointer(VerValue), VerValueSize) then
begin
Result.Major := VerValue^.dwFileVersionMS shr 16;
Result.Minor := VerValue^.dwFileVersionMS and $FFFF;
Result.Release := VerValue^.dwFileVersionLS shr 16;
Result.Build := VerValue^.dwFileVersionLS and $FFFF;
end;
finally
//Speicher freigeben
FreeMem(VerInfo, VerInfoSize);
end;
end;
end;
Dabei kommt folgendes raus: 1.6.3.4
Unter XE2 bekomm ich aber dieses raus: 1.0.4377.52096
Was muss ich ändern, damit unter XE2 das selbe rauskommt, als wie bei D7?
[Edit]
Hat sich erledigt - unter "Projekt-Optionen" war die CheckBox "Build-Nummer automatisch erzeugen" aktiv
mfg
Helmi
>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<