ビルドスクリプトの一部として、デルファイプロジェクトのバージョンを別のプロジェクト(デルファイではない)と同じにする必要があります。 IDE経由でバージョン番号を制御する方法はありますか?例えば、コンパイラのコマンドラインパラメータやそのようなものですか?おかげビルド時にバージョン番号を変更する
答えて
は、プロジェクト内の
{$R 'version.res'}
のような行を含めます。バージョン情報を含むversion.rcファイルを作成します。 brcc32を使用して古いDelphiのバージョンで自分でリソースを構築する必要があります。新しいデルファイのバージョンでは、
{$R 'version.res' 'version.rc'}
を使用して、自動的にビルドすることができます。詳細については、3210構造上のMSDNを参照してください
1 VERSIONINFO
FILEVERSION 9999, 9999, 99, 18048
PRODUCTVERSION 9999, 9999, 99, 18048
FILEOS 0x00000004L // comment: VOS_WINDOWS32
FILETYPE VFT_APP
{
BLOCK "VarFileInfo"
{
VALUE "Translation", 0x409, 0x4E4 // comment: 0x4E4 = 1252
}
BLOCK "StringFileInfo"
{
BLOCK "040904E4"
{
VALUE "CompanyName", "Company Name\0"
VALUE "FileVersion", "9999.9999.99.18048\0"
VALUE "LegalCopyright", "Copyright \0"
VALUE "ProductName", "Product Name\0"
VALUE "ProductVersion", "9999.9999.99.18048\0"
VALUE "Homepage", "http://www.mydomain.com\0"
}
}
}
:
最も簡単なversion.rcは次のようになります。
+1私が使用している解決策としてこれを行うが、version.resを削除しないと、version.rcへの変更はリンカによって通知されないことが保証されている必要があります。 –
@BrianFrost:どのバージョンのDelphiを使用していますか?私はそのような問題を抱えていません。そして、あなたはプロジェクトオプションの "バージョン情報を含める"をオフにしましたか? –
私の間違い。 * .rcで#includeを使用してvernionに番号を付けると、* .resを削除する必要があるので、実際のバージョン番号だけの*インクルードファイルのみを* .rcに変更していませんでした。 –
Marjanは優れた答えを示していますが、私の答えはもう少し答えが必要です。いくつかの#include文を使用しての利点は、あなただけではRCファイルを残し、その後、単純に修正する(あるいは自動生成する)ことができるということです
VS_VERSION_INFO VERSIONINFO
#include "..\Ver_Num_Application.txt"
#define APPLICATION_NAME "My amazing project\0"
#define VER_NUM_ARTWORKS 4
#include "..\Libraries\Paslib32\Ver_Num_Library.txt"
#define COMPANY_NAME "My company\0"
FILEVERSION VER_NUM_ARTWORKS, VER_NUM_LIBRARY, VER_NUM_APPLICATION, 1000
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x9L
#else
FILEFLAGS 0x8L
#endif
FILEOS 0x4L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", COMPANY_NAME
VALUE "FileDescription", APPLICATION_NAME
VALUE "LegalCopyright", "Copyright (C) "COMPANY_NAME
VALUE "ProductName", APPLICATION_NAME
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
* .txtのように見えるファイルが含まれます。このRCファイルを考えてみましょう:
Ver_Num_Application.txt:
#define VER_NUM_APPLICATION 6
Ver_Num_Library.txt:
#define VER_NUM_LIBRARY 156
今あなたが(おそらく変更された)バージョン番号からそれらを再生成するために、リンカを強制的にビルドを実行する前に、* .RESファイルを削除する必要があります注意してください。
{$ R ...}条件付き定義を使用して、dpr内の異なるversion.res/rcペアを簡単に作成できますか?それは他の情報が頻繁に変更されるようではない... –
{0}真実。私はすべてのプロジェクト用の「標準の」RCファイルと、メモ帳で開かれた拡張子が* .txtのファイルを欲しかったと思います。 –
ブライアン、私が理解できる "標準"ファイル、しかしtxtファイル? .RCファイルをデフォルトのエディタとしてメモ帳に関連付ける方法を知っていると思いますか? ;-) –
- 1. ASP.Netバージョン/ビルド番号
- 2. Jenkinsのビルド番号がデータと時刻に変更される
- 3. 新しいビルドごとにバージョン/リビジョン番号を更新する
- 4. マルチプロジェクトgradleビルドでの依存バージョン番号の変更
- 5. SQLiteデータベースのバージョン番号を変更
- 6. Kurento:カスタムモジュールの変更バージョン番号
- 7. SharePoint、バージョン番号を変更せずにレビューを登録する
- 8. xcodeのバージョン番号を変更するには
- 9. 前のビルド番号のビルド番号
- 10. スナップショットのタイムスタンプをビルド番号に変更できますか?
- 11. Visual Studioでビルド番号の書式を変更する
- 12. ビルド後にアセンブリのバージョン番号を変更するにはどうすればよいですか?
- 13. iOSでバージョン番号を変更するタイミングは?
- 14. MavenビルドでAspectjが悪いバージョン番号を警告する
- 15. 変更番号++
- 16. ポート番号を変更するには
- 17. キー番号を変更するには?
- 18. ビルド番号またはタイムスタンプをAngularCLIのビルド時に挿入する方法
- 19. 反応するネイティブアプリのバージョン番号を更新するには
- 20. msiバージョン番号
- 21. バージョン番号
- 22. は、バージョン番号
- 23. 現在リポジトリにあるMySQLビルドのバージョン番号を取得する
- 24. Androidのビルド番号
- 25. ビルドステップとビルド構成全体のバージョン番号を固定
- 26. Mercurialを使用した自動ビルドのバージョン番号
- 27. Maven、バージョンの一部を削除してビルド番号
- 28. プロジェクトのクラス内でビルド番号とバージョン番号を取得する方法はありますか
- 29. バージョン番号を減らす
- 30. 月の番号を変更
これは、IDEがバージョンリソースを制御するのをやめて、ビルド前のアクションとして独自のバージョンリソース生成をスクリプト化することをお勧めします。 –
@davidこれを行う方法はありますか? –
FinalBuilderのようなものを見て、EXEのすべてを同じビルド番号に設定し、一貫性のあるビルドパラメータなどを保証することができます。 – mj2008