多数のイベントハンドラーを含むデザインおよびランタイムコンポーネントがあります。今はTNewCompと呼びます。TFormでTNewCompのインスタンスを作成し、設計時にプロパティエディターを使用してイベントスタブに特定のコードを入力し、現在のイベントハンドラーコードのセットを使用するTNewcompの新しいインスタンスを作成できるようにしたいと考えています。
これを行うには、TNewCompのコンストラクターを呼び出してから、新しいインスタンスの各イベントハンドラーに、設計時に作成されたTNewCompインスタンスを含むフォームに常駐する対応するイベントスタブコードを「手動で」割り当てます。したがって、TNewFormというフォームのFNewCompという名前の変数にTNewCompのインスタンスが割り当てられている場合、イベントハンドラーごとに次のようにします。
FNewComp.onSomething = TNewform.onSomething
(... repeat for each event handler belonging to TNewComp ...)
これは問題なく機能しますが、面倒でさらに悪いことに、TNewCompに新しいイベントハンドラーを追加する場合は、「newTComp()」関数を更新してイベントハンドラーを割り当てることを忘れないでください。動的に新しいインスタンスを作成するすべての一意のコンポーネントタイプについて、このプロセスをすすぎ、繰り返します。
おそらくプロパティ検査または他のDelphi6イントロスペクション手法を使用して、このプロセスを自動化する方法はありますか?
-ロシュラー