Newsgroups : Borland : borland.public.delphi.nativeapi.win32 : 2005 Aug : VerQueryValue issue in Delphi 7 on WinXP

www.cryer.info
Managed Newsgroup Archive

VerQueryValue issue in Delphi 7 on WinXP

Subject:VerQueryValue issue in Delphi 7 on WinXP
Posted by:"Gerald Benusa" (gbenu..@comcast.net)
Date:Tue, 2 Aug 2005 21:18:06 -0400

Using Delphi 5 on WinXP the following code runs fine:
function GetBuildInfo : string;
var
   VerInfoSize,
   VerValueSize,
   Dummy          : DWORD;
   VerInfo   : Pointer;
   VerValue   : PVSFixedFileInfo;
   V1, V2, V3, V4 : Word;
begin
  VerInfoSize := GetFileVersionInfoSize(PChar(ParamStr(0)),Dummy);
  GetMem(VerInfo, VerInfoSize);
  GetFileVersionInfo(PChar(ParamStr(0)), 0, VerInfoSize,VerInfo);
  VerQueryValue(VerInfo, '\', Pointer(VerValue), VerValueSize);
  With VerValue^ do
  begin
    V1 := dwFileVersionMS shr 16;
    V2 := dwFileVersionMS and $FFFF;
    V3 := dwFileVersionLS shr 16;
    V4 := dwFileVersionLS and $FFFF;
  end;
  FreeMem(VerInfo, VerInfoSize);

  Result := IntToStr(V1)+ cDot +
            IntToStr(V2)+ cDot +
            IntToStr(V3)+ cDot +
            IntToStr(V4);
end;

However, when upgrading to Delphi 7 the code crashes at the VerQueryValue
with an EAccessViolation in the module version.dll.  What is causing this
issue and what can I do to correct.

Thanks...Gerry

Info

Glossary

File Types

Replies:

www.cryer.info
Managed Newsgroup Archive