Thanks - thats roughly the code I have ... I was hoping for a "function GetVersionData('ProductVersion'): String;"
Just wishful thinking.
 
Regards
Paul McKenzie
Analyst Programmer
SMSS Ltd.
----- Original Message -----
Sent: Friday, September 20, 2002 2:06 PM
Subject: RE: [DUG]: Reading version info from the .res file

This works.
 
function GetExeVersionStr: string;
var
  Dummy: DWORD;
  FileVerInfoSize: integer;
  Buffer: PChar;
  PFFI: PVSFixedFileInfo;
  FFISize: DWORD;
begin
  FileVerInfoSize := GetFileVersionInfoSize(PChar(Application.EXEName), Dummy);
  if FileVerInfoSize = 0 then
  begin
    Result := '';
    Exit;
  end;
  GetMem(Buffer, FileVerInfoSize);
  try
    GetFileVersionInfo(PChar(Application.EXEName), 0,
    FileVerInfoSize, Buffer);
    VerQueryValue(Buffer, '\', pointer(PFFI), FFISize);
    Result := Format('%d.%d.%d build %d',
    [HiWord(PFFI^.dwFileVersionMS),
    LoWord(PFFI^.dwFileVersionMS),
    HiWord(PFFI^.dwFileVersionLS),
    LoWord(PFFI^.dwFileVersionLS)]);
  finally
    FreeMem(Buffer, FileVerInfoSize);
  end;
end;
Regards,
Laurence Bevan
 
 

Reply via email to