我的程序使用Dll文件做插件。原理是将Dll中的窗体载入到主程序的Panel中。//此函数定义在Dll中,由主程序调用
//返回创建的窗口句柄供主程序处理
function LoadPlugin(dllParent: THandle): THandle;
begin
Application.Handle := dllParent;
if Form1 =nil then
Form1 := TForm1.Create(Application); Form1.ParentWindow := dllParent;
Form1.Show;
Result := Form1.Handle;
end;上面的代码中,如果在Dll窗体的FormCreate事件中出现"Form1."就会报错,如果去掉则正常。请问这是为什么?谢谢大家!
//返回创建的窗口句柄供主程序处理
function LoadPlugin(dllParent: THandle): THandle;
begin
Application.Handle := dllParent;
if Form1 =nil then
Form1 := TForm1.Create(Application); Form1.ParentWindow := dllParent;
Form1.Show;
Result := Form1.Handle;
end;上面的代码中,如果在Dll窗体的FormCreate事件中出现"Form1."就会报错,如果去掉则正常。请问这是为什么?谢谢大家!
你要理解 类与类变量的关系,这点很重要.面向对象,如果用你这种方法就比较死了.
多用 self.lable1 非 form1