2008-09-25 14 views
5

私は古いDelphiコードベースを維持しなければならず、たくさんのDLLがあり、他のものより古いものもあります。これらのDLLの中には、Project Optionsダイアログにバージョン情報がないものがあります。バージョンを追加するためのコントロールはグレー表示されており、.DOFファイルを手動で編集することでバージョン番号を追加することもできません。どのようにこれらのプロジェクトにバージョン番号を含めることができますか?私が継承したこの古いDelphiプロジェクトにバージョン番号を含めることはできません。どうすれば修正できますか?

答えて

10

デフォルトの.RESファイルがプロジェクトソースの場所に存在するかどうか確認してください。 Delphiでは、.resファイルに.dprファイルと同じ名前のプロジェクトのバージョン番号が含まれています。 .RESファイルが存在しない場合、再作成する最も簡単な方法は、uses節の直後に.DPRファイルに{$ R * .RES}コンパイラ指令を追加することです。

library foolib;  

uses 
    foo in 'foo.pas', 
    baz in 'baz.pas'; 

{$R *.RES} 

exports 
    foofunc name 'foofunc'; 

end; 

はできるだけ早くあなたが追加すると、{$ R * .RES}コンパイラ指令デルファイは、それがfoolib.resリソースファイルを再作成していることを教えてくれます。

2

$ Rディレクティブを使用して、Delphiで作成したライブラリにリソースファイルを作成して埋め込むことができます。

このlinkには、RESファイルの作成に関する情報があります。 Delphiには独自のリソースコンパイラがあります。BRCC32

+0

ジョンはすでにそれを書いていませんでしたか? – gabr

+2

はい、私はBRCC32について言及しませんでした。 –

+0

:-(ジョンが質問と同時に答えたとしたら、私は私のことを書いていた(それゆえ私は彼に会いませんでした)私はダウン投票が少し厳しいと思った! - 私はまたリソース情報へのリンクを提供しました* *リソースコンパイラに言及しました! 私は笑顔を止めるのに十分です。 – Andrew

0

私はビルドコントロールシステム(FinalBuilder)を使用しています。すべてのDLLとEXEにすべてのコヒーレントなバージョンリソースを追加できます。したがって、ファイルセットにはすべて同じビルドのラベルが付けられていると確信できます。デフォルトではバージョンを持っていないDelphiプロジェクトがいくつかありますが、FBはそれをあなたのために追加します。

+0

興味深いですね。今後のプロジェクトでは気にしています。 –

6

リソース指示が.dprファイルにありません(条件付きの定義に囲まれています)ので、IDEが見つからないようです。

0

dllにバージョン情報を含めるのが少し不規則です。 lib_suffixを指定すると、バージョン情報は更新されません。

関連する問題