モナーの *やさしい* Delphi質問スレ Ver3
■ このスレッドは過去ログ倉庫に格納されています
0319デフォルトの名無しさん
NGNGつまり、関数内でフォームをCreateする時にクラスを変更出来たらいいんだろうか?
取りあえず、そんな事は難しいが、継承を使えば似たような事は可能だ。
1.独自にPropertyを追加したフォームを TParFormとする
2.検索フォームは全てTParFormを継承させて作る。
例)
TKensakuForm1=class(TParForm);
3.関数内で使うクラスをTOrgFormとする
例)
Type
TOrgForm = class of TParForm;
・
・
・
function CreForm(・・・・・・):String;
var
frm:TOrgForm;
begin
・
・
ftm:=TOrgForm(GetClass('フォーム名')).Create(Application);
Result=frm.FormResults;
frm.Release;
・
・
4.継承したフォームは、登録しておかなければならないので、initialization等にガンガン書いておく
例)
initialization
RegisterClass(TKensakuForm1);
RegisterClass(TKensakuForm2);
RegisterClass(TKensakuForm3);
・
・
end.
これで、文字列としてフォーム名を渡してCreateできるはず。
眠いんで詳しい説明はしない、詳しくは、HELPの GetClass を参照
でも、これで解らなかった、もうDelphi使うな。
■ このスレッドは過去ログ倉庫に格納されています