Delphiマンセー
■ このスレッドは過去ログ倉庫に格納されています
0399デフォルトの名無しさん
NGNGその為にはまず、クラス名を登録しなければいけない。
登録するのはこうだ。
RegisterClass(TForm1);
そして、クラス名からコンポーネントを作成するには、
with TComponentClass(FindClass('TForm1')).Create(Application) as TForm do
begin
Left:=Left+5;
Show;
end;
つまり、FindClass すると、クラス参照型を返してくれるので、そのクラスをコンポーネント参照型に代入してとやる
with TForm(FindClass('TForm1')).Create(Application) do ・・・
とやっても良さそうに思うかな? これはTFormはクラス型なのでダメだ。
もしやるなら、
with TFormClass(FindClass('TForm1')).Create(Application) do ・・・
こうだけど、TForm1がTFormじゃない場合に困ったことになる事も考えておこう。
さて、FindClass の他に GetClass というのもある。
GetClassはそのクラスが無い時にnilを返す
FindClassはクラスが無ければ例外を出してくれる。
■ このスレッドは過去ログ倉庫に格納されています