Delphi XE2 で作成したアプリケーションのバージョン情報が取得できない

Delphi XE2 で作成したアプリケーションのバージョン情報が取得できない

自身のバージョンを取得する関数↓が思うように動作しない
  1. function GetApplicationVersion: string;  
  2. var nSize, nRead: Cardinal;  
  3.     pBlock: Pointer;  
  4.     pValue: PChar;  
  5. begin  
  6.     nSize := GetFileVersionInfoSize(PChar(Application.ExeName), nSize);  
  7.     if (nSize > 0then begin  
  8.         pBlock := AllocMem(nSize);  
  9.         try  
  10.             if GetFileVersionInfo(PChar(Application.ExeName), 0, nSize, pBlock) then begin  
  11.                 if VerQueryValue(pBlock, '\StringFileInfo\041103A4\FileVersion', Pointer(pValue), nRead) then begin  
  12.                     Result := pValue;  
  13.                 end;  
  14.             end;  
  15.         finally  
  16.             FreeMem(pBlock);  
  17.         end;  
  18.     end;  
  19. end;  
VarFileInfo\Translation 辺りを利用して、格納されているリソース言語をチェックしてみたが 041103A4 までは、入っている様子

ということで Resource Hacker を利用して、リソースを確認

すると、VarFileInfo の Translation は、日本語(0411)+SJIS(03A4)でありながら、BLOCK は英語のまま...

コメント