動的にコントロールを作成します。
実際には、動的に非常に単純なコントロールを作成し、私はこの記事を読んだ後、あなたが全体を理解するだろうと信じています。
1として(自動的ユニットを使用するときに登録するように)、細胞の初期化部分をどのレジスタに:
RegisterClass(TButtonの)。
2又はような、参照クラスを得るために、関連項目FindClassのGetClass関数を使用:
VARメタクラス:TPersistentClass。
メタクラス:= FindClassが( 'TForm2')。
3つのマップメタクラス一般的なタイプ、または(あなたが必要なパラメータを指定しなかったので)あなたは正しいコンストラクタを呼び出すことはできません
VAR ComponentMetaClass:TComponentClass。
ComponentMetaClass:= TComponentClass(メタクラス)。
4コールのコンストラクタ
VAR AForm:TComponentは、
AForm:= ComponentMetaClass.Create(自己)。
5 AFormは今、クラスの有効なインスタンスは、それがメソッドを呼び出すことができます。
TFormは(AForm).SHOW。
若しくは
何らかの形だった:TFormはは。
SomeForm:= TFormは(AForm)。
SomeForm.Show;
完全な例:
手順TForm1.Button1Click(送信者:TObjectを);
VARメタクラス:TPersistentClass。
ComponentMetaClass:TComponentClass。
AForm:TComponentは、
ベギン
メタクラス:= FindClassが( 'TForm2')。
ComponentMetaClass:= TComponentClass(メタクラス)。
AForm:= ComponentMetaClass.Create(自己)。
TFormは(AForm).SHOW。
終わり;
若しくは
TFormTForm(TComponentClass(FindClassが( 'TForm2')).Create(自己))ショー。