2011-07-19 14 views
1

私はD2009で使用していたカスタムコンポーネントを用意しています。私はDelphi XEをインストールしました。プロジェクトをアップグレードしている間に、両方のIDEでこれらのコンポーネントを使用できるようにしたいと思います。しかし、それらをXEにインストールすると、D2009では本当に使用できなくなります。プロジェクトはコンパイルされますが、コンポーネントはツールパレットに表示されず、フォームデザイナにも表示されません。同じコンポーネントをインストールするDelphi 2009とDelphi XEで動作しない

どのようにアンインストール/再インストールなどを試みても、D2009で動作するコンポーネントを取得できません。私は両方のIDEがライブラリパスにコンポーネントのディレクトリを持っていることを確認しました。

両方のIDEで動作するコンポーネントを取得するには、ここで何が必要ですか?

ありがとうございます!

答えて

10

異なるバージョンのDelphiでは、異なるパス(「パッケージ出力ディレクトリ」)に異なるパッケージセット(* .bplファイル)が生成されます。デザインパッケージは、IDEによって実行時にロードされる必要があります。 Windowsの検索パスはおそらく有効になります。 D2009はパッケージx.bplをロードしたいとき、XEのパッケージ出力ディレクトリがD2009より前のシステム検索パスにあるため、(互換性のない)XEバージョンに解決されます。

解決策は、パッケージにLibrary Suffixを常に使用することです。私はあなたがDelphi独自のコンベンションで、D2009パッケージには120を、XEパッケージには150を使用することをお勧めします。 x.bplはD2009ではx120.bpl、XEではx150.bplになります。

+0

実際。私は通常、各バージョンの異なるパッケージファイル(.dpk、.dprojなど)用の別個のディレクトリと、コンポーネントファイル用の共通のディレクトリを持っています。 –

関連する問題