J jeffsheng Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-12 #1 我想将FORM的名字放在数据库中,在需要的时候动态创建FORM并Show出来,请高手指导怎样可以达到这个目的??[brown][/brown][black][/black]
B beta Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-13 #2 假设你从数据库中读出来的 Form 的名字存放在 FormName 变量中: TForm(Application.FindComponent(FormName)).Show; // 显示出来了 当然,前提是那些窗口都要已经创建了。
假设你从数据库中读出来的 Form 的名字存放在 FormName 变量中: TForm(Application.FindComponent(FormName)).Show; // 显示出来了 当然,前提是那些窗口都要已经创建了。
J jeffsheng Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-13 #3 如果先创建所有FORM会占用很多的内存,而且我的系统比较大,此方法可能不可行!
J jsxjd Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-13 #4 if s='TForm1' then with TForm1.create(nil) do showmodal();
雨 雨人 Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-13 #5 这样就可了 var Formclass:TFormClass; myForm:TForm; begin Formclass=TFormClass('T'+Formname); myForm:= Fromclass.create(self) end;
这样就可了 var Formclass:TFormClass; myForm:TForm; begin Formclass=TFormClass('T'+Formname); myForm:= Fromclass.create(self) end;
Y ysai Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-13 #6 用动态链接库,在每个DLL中实现一个函数,函数的参数要相同,也就是说, 每个DLL用相同的接口,你可以把DLL的名字及函数名保存在数据库,动态调用
B beta Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-13 #7 如果 Form 多,就动态创建,先把每个 Form 的 Class 用 RegisterClass 注册 (在单元的 initialization 部分)然后用 GetClass 返回类引用,然后通过该 类引用来创建并显示即可。
如果 Form 多,就动态创建,先把每个 Form 的 Class 用 RegisterClass 注册 (在单元的 initialization 部分)然后用 GetClass 返回类引用,然后通过该 类引用来创建并显示即可。