已知一个string型的变量,如何把它转成Tform类型(100分)

  • 主题发起人 主题发起人 lcl168
  • 开始时间 开始时间
L

lcl168

Unregistered / Unconfirmed
GUEST, unregistred user!
var
s:string;
f:tformclass;
如何将s的字符串转成tformclass类型给f



 
var i : integer;
s : string;
f : TFormClass;
begin
f := nil;
for i:= 0 to Screen.FormCount - 1 do
if Screen.Forms is TFormCLass then
if TFormCLass(Screen.Forms).Name = s then
f := TFormCLass(Screen.Forms);
if f = nil then
begin
f := TFormCLass.Create(Application);
f.Name := s;
end;
f.ShowModal;
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1160701
 
当然这个字符串对应的类得先存在的.
比如'Tform',然后可以应先registerclass,然后再findclass.
EXC:

procedure showclassform(classform:string);
var Tcla:tcontrolclass;
begin
with tcontrolclass(findclass(classform)).create(nil)do
show;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
registerclass(tform);
showclassform('tform');
end;
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
911
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部