知道了窗体Name,能不能找到窗体对象,如:
窗体Name为Frm,现在要调用该窗体
with TFrm.Create(Self) do .....
这个中间的要写怎样的代码才能把string转换为对象
窗体Name为Frm,现在要调用该窗体
with TFrm.Create(Self) do .....
这个中间的要写怎样的代码才能把string转换为对象
解决方案 »
- treelist 里面的ITEMS能否间距拉大
- 交流一下接外单的经验
- DLL中的Form怎么样才能根据宿主的Panel的Resize而Resize
- 代码实现AdoQuery字段编辑器中Add All Fields功能
- 调用 CreateOleObject('outlook.application')出无效的类别字符串
- 我在数据库中定义了一个“编号”字段,我设置的是“种子自动加1”,为什么在新增数据时提示我必须给“编号”一个值???
- 在执行table1.SetFields时报错:"Table1:Dataset not in edit or insert mode"
- 请问高手 如何在fastreport中作图表chart ?在线等待
- 各位大哥帮小弟看看如下的代码。
- 投诉: tmd的,我刷新几遍都不能看到自己的回复!!!!!!!!!!
- 在sql数据表中怎么根据第几列找到其字段名
- 菜鸟问题```
with TForm1.Create(application) do
begin
Name := 'Frm';
ShowModal;
Free;
end;
end;
我做权限时,窗体上的一些按钮全是动态创建,点击这些按钮就调用相应的窗体,但是只知道窗体的Name,怎样才找到窗体的对象
----------------------
你这句话本身就是不对的。既然找到了这个窗体对象,那说明窗体已存在了,那还能再创建???
通过类的名字得到类的引用???这个怎么找,就是类的名字是存在数据库里面的string,现在通过它调用窗体
aform : tform;
aclass : tformclass;
begin
aclass := tformclass(findClass('form2'));//form2是从数据库里面读出来的窗体名
aform := aclass.create(application);
aform.show;
End
这种写法在注释那里就开始报错,找不到form2的对象,应该怎样改
var
FormClass: TFormClass;
frm : Tform;
begin
FormClass:=TFormClass(GetClass('TForm2'));
if FormClass = nil then
begin
showmessage('Not Found');
exit;
end;
Application.CreateForm(FormClass,Frm);
Tform(frm).show;
TEdit(TForm(frm).FindComponent('edit1')).Text:='aaa';
end;procedure TForm1.FormCreate(Sender: TObject);
begin
RegisterClass(Tform2);
end;
var
FormClass: TFormClass;
frm : Tform;
begin
FormClass:=TFormClass(GetClass('TForm3'));
if FormClass = nil then
begin
showmessage('Not Found');
exit;
end;
Application.CreateForm(FormClass,Frm);
Tform(frm).show;
TForm(frm).Caption := 'Test';
end;procedure TForm1.FormCreate(Sender: TObject);
begin
RegisterClass(Tform2);
RegisterClass(Tform3);
end;