誤ってそのプロジェクトをアップグレードせずに、特定のプロジェクトを開くために使用するデルファイのバージョン(コンピュータにインストールされているDelphi 5からXE2)を自動的に把握しようとしています。Delphiプロジェクトを作成したDelphiのバージョンを確認する方法
Delphi 7まで。各プロジェクトの.ini形式の.dofファイルがあります。 デルファイ5は役立つかもしれない任意のエントリを有するが、以下の値contains [ファイルバージョン]セクションがあるデルファイ6から起動しないん
- デルファイ5:N/
- デルファイ6:6.0 は
- デルファイ7:7.0
だから私はそれが古いDelphiのバージョンは私には関係ないので、ということ落ち着くと思います。デルファイ2005年と2006年については
バージョンのエントリを含むXML形式の.bdsprojファイルがあります: デルファイ2005年BorlandProject \ PersonalityInfo \オプション\オプション
\それは次のようになります。
<Option Name="Version" Type="String">1.0</Option>
:
<Option Name="Version">1.0</Option>
属性 "Type"が存在し、Delphi 2005または2006を決定するかどうかを調べることができます。 誰かがDelphi 2005および2006プロジェクトを見て、この違いを確認できますか?
編集:私はちょうどこれを検証しようとしましたが、そのDelphi 2005では常にタイプ属性が追加されるとは限りません。だから今私は立ち往生している。
編集:おそらく、そこに保存されたGUIDはDelphiのバージョンに固有ですか?
- デルファイ2005:{87D03616-A4C7-4B5A-AF0F-0164EA60BC59}
- デルファイ2006:{CFE1BEE6-6FDE-4241-8CA5-D38D14EAA768}
どういうわけか私は私は、それを疑いますGUIDが異なるSKU(Professional/Architectなど)を表す可能性があることを恐れている。しかし、おそらくあなたはこれを確認することができますか?
Delphi 2007以降、別のXML形式の.dprojファイルがあります。デルファイ2007形式は、私が見つけることができるすべてのバージョンのエントリが含まれていますが、上のDelphi 2009から次のエントリがあるように思われていません。
\project\PropertyGroup\ProjectVersion
これらは私が私の.dprojファイルで見つかった値は次のとおりです。
- デルファイ2007:N/
- デルファイ2009:2010 12.0
- デルファイ:12。0
- デルファイXE:12.3
- デルファイXE2:13.4
これらが正しい場合、私は確実にデルファイ2007、XEとXE2を決定することができます。しかし、私はどのようにDelphi 2009と2010を区別しますか?
また、これらの数字は私にとって奇妙に見えます。 Delphiのさまざまなアップデート間に違いがあるかどうかは誰にでも分かりますか?元のDelphi XE2リリースは13.0から始まり、各アップデートでドットの後ろの数字が増えましたか?しかし、その場合、Delphi XEはどのように12.3を取得しましたか?
(。同様の質問How can I tell what version of Delphi was used to create a projectが、かなり限られている単一の答えがあります)
誰がこれを必要とする念のために:私はすべての答えを要約し、新しいDelphiのバージョンの情報を追加してpage to the Delphi Wikiを追加しました(現在Delphi 10.1まで)。
あなたがこれを必要とするのはなぜ? Delphiのどのバージョンのプロジェクトがビルドされているのかが分かります。 –
@DavidHeffernan下記の私の答えを参照してください。 – dummzeuch
私は、特定のプロジェクトファイルのターゲットデルファイバージョンを明確に識別するための簡単な命名規則に従うことをお勧めします。例えば。私たちはプロジェクトファイルをサブフォルダに入れます。フォルダ名は、使用するDelphiのバージョンを示します。 –