天
天空还下着沙
Unregistered / Unconfirmed
GUEST, unregistred user!
倾家荡产求解对象及类引用问题,附详细函数,正常及异常情况
其中FormMainWindow是当前窗口,我做了这个函数,就是点击相应菜单,载入其它窗口到当前窗口的一个面板PanelClient中,不知为什么不行,我放在函数外时,就可以
这个函数的参数完全是照着Application.CreateForm的参数来设置的
function TFormMainWindow.LoadChildWindow(InstanceClass : TcomponentClass;
var Reference) : Boolean;
begin
Application.CreateForm(InstanceClass, Reference);
Reference.Parent := FormMainWindow.PanelClient;
//运行到上面出错了,Reference是个参数,若不在此函数内,这里用的是窗口对象名
Reference.Show;
Result := True;
end;
出错类型:Record, Object or Class type required
为什么我在外面用实际对象名操作时就可以,放在这个函数里就不行了呢?
Application.CreateForm(TForm1, Form1);
Form1.Parent := FormMainWindow.PanelClient;
Form1.Show;
以上完全可以
如下方法调用这个函数就不行了
LoadChildWindow(TForm1, Form1);
//就不行啦
不胜感激
其中FormMainWindow是当前窗口,我做了这个函数,就是点击相应菜单,载入其它窗口到当前窗口的一个面板PanelClient中,不知为什么不行,我放在函数外时,就可以
这个函数的参数完全是照着Application.CreateForm的参数来设置的
function TFormMainWindow.LoadChildWindow(InstanceClass : TcomponentClass;
var Reference) : Boolean;
begin
Application.CreateForm(InstanceClass, Reference);
Reference.Parent := FormMainWindow.PanelClient;
//运行到上面出错了,Reference是个参数,若不在此函数内,这里用的是窗口对象名
Reference.Show;
Result := True;
end;
出错类型:Record, Object or Class type required
为什么我在外面用实际对象名操作时就可以,放在这个函数里就不行了呢?
Application.CreateForm(TForm1, Form1);
Form1.Parent := FormMainWindow.PanelClient;
Form1.Show;
以上完全可以
如下方法调用这个函数就不行了
LoadChildWindow(TForm1, Form1);
//就不行啦
不胜感激