2016-09-05 4 views
1

私はいくつかのテンプレート(TFrame子孫)を含むパッケージを作成しました。 これらのテンプレートがパレットに追加されました。他のパッケージで は、私はこれらのテンプレートを使用しようとしているが、私はそれらの一つ追加するたびに、メッセージが表示されます。プロジェクトにソースファイルを追加せずに他のパッケージに定義されたテンプレートを使用するにはどうすればよいですか?

次単位:%sは、 テンプレートを作成するには、プロジェクトで必要とされます。それを追加しますか?

mrYes:

ソースファイルをプロジェクトに追加されます。 はさらに、それがコンパイルに次のエラーが発生します。

E2200パッケージ '%s' をすでにユニット '%s' が


が含まれていmrNo:

それは大丈夫です、私が テンプレートのいずれかを置くたびに質問が出されます。私と私の同僚は、これらのテンプレートを多くの時間使用し、私は本当にそのメッセージを避けたいと思います。


アップデート1:

ここでは説明した動作を観察する手順は、次のとおりです

  1. パッケージ1という名前のパッケージのプロジェクトを作成します。
  2. MyTestという名前のTFrame子孫を追加します。
  3. パレットにTMyTestを追加(構造ウィンドウ、右クリック、 パレットに追加)。
  4. プロジェクトの出力ディレクトリを。\ outに設定します。
  5. プロジェクトをビルドします。
  6. ライブラリパスに\ outを追加します。
  7. 同じプロジェクトグループで、Package2という名前のパッケージプロジェクトを作成します。
  8. Package1を「requires」(Package2.dpk内)に追加します。
  9. フォームを追加します。
  10. TMyTestTemplateをフォームに追加します。

アップデート2:

私は、Delphi 2007とDelphi XE7で動作するソリューションを探しています。

答えて

1

少しより多くの仕事が、あなたのニーズに合わせなければならない1:

  • はパッケージFooDesignTime(マークDesigntimeOnly)を作成します
  • あなたTMyFrameを追加し、パッケージFooRuntime(マークRUNTIMEONLY)を作成し、FooRuntimeを必要とし、あなたのフレームを登録します
  • FooRuntime

に他のプロジェクトをリンクFooDesignTime

  • をインストールします。パッケージがなければ、IDEはユニットを認識できないようです。

  • +1

    長い間沈黙して申し訳ありませんが、私はあなたのソリューションを試してみました。ありがとう! – ExDev

    +0

    うれしい私は助けることができます:) –

    関連する問題