请问高手,打开子窗口(MDI)的这两种方法有什么区别?

finer 2004-11-22 02:49:36
1,
procedure TMainForm.N7Click(Sender: TObject);
var
GetEmployee:TGetEmployee;
begin
GetEmployee:=TGetEmployee.Create(Application);
end;

2,
procedure TMainForm.N7Click(Sender: TObject);
begin
TGetEmployee.Create(Application);
end;

谢谢!
...全文
156 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ppayun 2004-11-22
  • 打赏
  • 举报
回复
create过程会返回实例的指针,第一种有赋值操作,第二种没有,
g961681 2004-11-22
  • 打赏
  • 举报
回复
共同点是:他们都在自由空间创建了,子窗体的实例。
区别在于:1中有一个变量引用指向你刚才的实例。所以后面,你在程序中就可以通过该引用来访问这个实例了。
而2中,它只是一个无头的苍蝇,你是没法找到和控制访问它的。
g961681 2004-11-22
  • 打赏
  • 举报
回复
1中,你把它show出来啊!
finer 2004-11-22
  • 打赏
  • 举报
回复
有人回答吗?
finer 2004-11-22
  • 打赏
  • 举报
回复
1,
procedure TMainForm.N7Click(Sender: TObject);
var
GetEmployee:TGetEmployee;
begin
GetEmployee:=TGetEmployee.Create(Application);
end;

怪,方法1因有var GetEmployee:TGetEmployee;而打不开
豆豆浆爸爸 2004-11-22
  • 打赏
  • 举报
回复
有误:
1是内存中已经开辟了一块内存用来存储tgetemployee的结构体

2是在使用的时候才声明并赋值给他.
豆豆浆爸爸 2004-11-22
  • 打赏
  • 举报
回复

1是内存中已经开辟了一块内存用来存储tgetemployee的结构体

2是在使用的时候才声明并复制给他.

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧