Hallo,
mit einer Funktion wie der folgenden kann man ja die Versionsinformationen einer EXE oder
DLL auslesen:
Delphi-Quellcode:
function ReadVersionInfo(const Filename: string): string;
type
T2Words = record
case Boolean of
True: (C: Cardinal);
False: (Lo, Hi: Word);
end;
var
size: Cardinal;
p, vs: Pointer;
MS, LS: T2Words;
begin
Result := '';
size := GetFileVersionInfoSize(PChar(Filename), size);
if size > 0 then
begin
GetMem(p, size);
GetFileVersionInfo(PChar(Filename), 0, size, p);
VerQueryValue(p, '\', vs, size);
with TVSFixedFileInfo(vs^) do
begin
MS.C := dwFileVersionMS;
LS.C := dwFileVersionLS;
Result := Format('%d.%d.%d.%d', [MS.Hi, MS.Lo, LS.Hi, LS.Lo])
end;
FreeMem(p);
end;
end;
Weiß jemand wie die Updateresource Funktion zu verwenden ist, um eben diese Werte in einer EXE-Datei wieder zu schreiben? Ich habe ehrlich gesagt keine Ahnung, wie ich die Funktion verwenden soll, um die Versionsinformationen zu schreiben. In der
MSDN wird leider nur erklärt, wie man Dialogressourcen kopiert..
Ich habe dazu auch das folgende Thema gefunden:
http://www.delphipraxis.net/internal...ct.php?t=53954 Leider wird die Lösung dort nicht publiziert.
Hintergrund ist folgender: Ich habe mehrere EXE-Dateien welche zum Programm gehören. Nun möchte ich die Versionsinformationen entsprechend Synchronisieren, damit mein Programm nach außen geschlossen unter der gleichen Versionsnummer und Buildnummer auftritt. Dazu wäre natürlich ein Tool recht praktisch, welche auf Knopfdruck die Versionsinfos updated. Any Ideas?
Exceeder