2

私は、TFrames と ModelMaker を使用して多くのコンポーネントを開発してきました。ビジュアル デザイン/開発 + 継承 + ModelMaker の組み合わせが非常に魅力的であることがわかりました。次に、これらの TFrame の子孫を登録ユニットで登録すると、そこから本格的なパレットベースのコンポーネントになります。Delphi 2007 を使用しています。

このプロセスの小さな「障害」について学習した早い段階で、TFrame の子孫が正しくストリーミングされない (多くの場合、IDE ではフレームではなくフォームとして表示される) ことで遭遇する多くの問題が、導入することで完全に排除できることがわかりました。変更なしで TFrame から継承する独自の「TBaseFrame」クラスを作成し、それを基本クラスとして使用してコンポーネントを開発します (メソッド、プロパティなどを追加します)。TFrame から直接継承するクラス/フレームにプロパティやメソッドなどを追加すると、dfm ファイルのストリーミングが混乱することがよくありました。

それで、私がねじれを解決したら、全体的にうまくいきました.

しかし、昨日、私は新しい問題に遭遇しました:

結果のコンポーネントをパッケージ セットにインストールし、意味のある方法でグループ化します (つまり、アプリ 1 のすべての「パネル」は 1 つのパッケージにあり、アプリ 2 の多数の「ビューアー」は別のパッケージにあるなど)。

TBaseFrame クラスがパッケージに含まれていない場合、継承する TFrame の子孫コンポーネントは IDE に読み込まれません。しかし、TBaseFrame をパッケージに追加すると、複数のパッケージに同じソース PAS ファイルが含まれていると、競合する Delphi レポートが表示されます。

すべての frame= ベースのコンポーネントを 1 つの巨大なパッケージに入れることもできますが、セットの数の性質を考えると、時間の経過とともに大きくなりすぎたり手に負えなくなったりすることがはっきりとわかるので、そうしないことを本当に、本当に望んでいます。開発する予定です。この競合を解決する他の方法はありますか?


更新 -- これを「適切に」動作させるための秘訣があります -- 以下のコメントを必ずお読みください。

4

1 に答える 1

3

TBaseFrameを、他のすべてのパッケージで「必要」となる1つの別個のパッケージに入れようとしましたか?

于 2009-06-24T18:16:51.837 に答える