パージョン情報の取込み

解決


AMI  2008-01-24 02:14:00  No: 29457

教えていただきたいのですが、
プロジェクトのオプションの中でパージョン情報のタグがありますが、
ここでバージョン番号を含めるにしてバージョン登録したものを
Delphiの処理の中のこのパージョン情報を取込むことが可能でしょうか。


  2008-01-24 02:28:55  No: 29458

Delphiのヘルプにも書かれているとは思いますが、
GetFilevVersionInfo関数とVerQueryValue関数を使えば
自身のEXEの情報を取得できます。

「Delphi バージョン情報」あたりで検索すればそのもの
ズバリの回答がありましたので、それを参照してください。


  2008-01-24 02:29:57  No: 29459

誤:GetFilevVersionInfo
  ↓
正:GetFileVersionInfo

誤記修正です。


Fusa  URL  2008-01-24 02:44:14  No: 29460

http://delfusa.main.jp/delfusafloor/opensource/delfusalibrary/20070828160200/FileUnit/FileUnit.pas.txt

ここの
function GetFileVersionInformation(FileName, TitleKey: String): String;
を使ってください。


maru3  2008-01-24 05:44:59  No: 29461

今作成しているアプリでバージョン(リビジョン)を表示して
使用している方と内容が合うように、
バージョン番号を表示するようにしています。
以下のようにするとOKでした。

//バージョン番号の取得(自動付加バージョン番号)
function GetFileVersion(): string;
var
  Size, SizeFileInfo, Ret: DWORD; pData, pInfo: Pointer;
begin
  Size := GetFileVersionInfoSize(PCHAR(Application.ExeName), Ret);
  GetMem(pData, Size);
  try
    Assert(GetFileVersionInfo(PCHAR(Application.Exename), 0, Size, pData));
    Assert(VerQueryValue(pData,
       PCHAR('\StringFileInfo\041103A4\FileVersion'), pInfo,
       SizeFileInfo));
    Result := PCHAR(pInfo);
  finally
    FreeMem(pData);
  end;
end;

どこかで・・・・メインフォームかな???

  Label_Ver.Caption   :=  'Ver '+ GetFileVersion;


AMI  2008-01-24 06:11:30  No: 29462

邪様、Fusa様、maru3様
有難うございました。一から十まで教えて頂きました。
助かりました。


Fusa  2008-01-24 08:11:02  No: 29463

>>maru3さん

ライブラリを作成するという意味ではより汎用性を高めると
再利用がしやすくなりますよ。

function GetFileVersion(): string;
の中にApplication.Exenameが入っていらっしゃるので

function GetFileVersion(FileName: string): string;
として、Application.Exenameを指定しているところを
FileNameで指定して

function GetApplicationVersion(Application.ExeName): string;
と書くと、

元々の機能は
 Label_Ver.Caption   :=  'Ver '+ GetApplicationVersion;
として書けますし、他のexeファイルのversionを調べたい場合は
 Label_Ver.Caption := 'Ver ' + GetFileVersion('C:\...\notepad.exe');

このように書けて汎用性が高まります。

手前みそですがうちのは
Label1.Caption := ApplicationTitlePlusVersion('アプリ名', ' ver ', vfMajorMinor);
と書くことで、メジャー/マイナー/リリース、どこまでのバージョン情報を追加するかを指定できます。


Fusa  URL  2008-01-24 08:13:46  No: 29464

[パ]ージョン情報?かよ!


座布団一枚  2008-01-24 09:07:06  No: 29465

↑ナイス突っ込み^^


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加