2

一連の操作を管理し、いくつかのイベントを発生させるカスタムコンポーネントを構築したいと思います。データベース接続と他のいくつかの設計時コンポーネントを管理する必要があります。(TQuery、TTableなど)IDEインターフェースを使用して、これらのオブジェクトのいくつかを設定したいと思います。

アイデア:

  1. 同じ方法でDataModuleから継承すると、コンポーネントを設計するときにこれらのコンポーネントを配置する場所が得られますか?(私はそうではないと思いますが、CustomComponentを設計時にDataModuleとして動作させる方法はありますが、使用時に動作させる方法はありませんか?)
  2. カスタムコンポーネントをTComponentの子孫にするだけで、TDataModuleオブジェクトを含めて、必要なコンポーネントを追加する必要がありますか?
  3. この概念を袋に入れて、必要なコンポーネントを手動で作成する必要がありますか?
  4. あなたの解決策はあなたが私より賢い原因になります。
4

2 に答える 2

3

コンポーネントを視覚的に設計しようとすることをまったく忘れることをお勧めします。非ビジュアル コンポーネントなので、必要に応じて派生させTComponentて DB コンポーネントを作成/管理します。a を使用する必要TDataModuleはまったくありません。これは、コンポーネントの作成者が非ビジュアル コンポーネントで使用するためではなく、エンド ユーザーが自分のプロジェクトで使用するために予約する必要があります。

于 2012-08-10T21:48:25.543 に答える
2

いいえ、単純な理由が 1 つあります。Delphi XE の IDE にはバグがあり、フォーム デザイナが TDataModule から継承したクラスを TForm から継承したかのように処理してしまいます。これは、一連の TForm 関連のプロパティが DFM に書き込まれることを意味し、実行時にデータ モジュールをロードしようとすると例外が発生します。

このバグがなければ、それは良い考えです。

于 2012-08-10T21:09:43.570 に答える