有一个父窗口 ParentForm, 父窗口中有一个Button1, Button1中的代码为procedure TParentForm.Button1Click(Sender: TObject);
begin
MyChildForm := TMyChildForm.Create(Self);
//这行代码意味着,MyChildForm窗口的内存
//由ParentForm负责释放!
end;--------
如果我是这样写ParentForm的窗体释放代码。
procedure TParentForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action := caFree;
MyChildForm := nil;
//在此时, MyChildForm已经被 := nil, 不知道ParentForm
//还能不能够正确的释放MyChildForm的内存?????????????
end;
//如果能够的话,MyChildForm已经被 := nil;它所对应的内存空间编译器是如何找到的??????//多谢了!!!!!!!----------------------------------------------------------------------------------
需要声明的是: ParentForm并不是第一级窗体,Parentform关闭的以后,应用程序不退出.
begin
MyChildForm := TMyChildForm.Create(Self);
//这行代码意味着,MyChildForm窗口的内存
//由ParentForm负责释放!
end;--------
如果我是这样写ParentForm的窗体释放代码。
procedure TParentForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action := caFree;
MyChildForm := nil;
//在此时, MyChildForm已经被 := nil, 不知道ParentForm
//还能不能够正确的释放MyChildForm的内存?????????????
end;
//如果能够的话,MyChildForm已经被 := nil;它所对应的内存空间编译器是如何找到的??????//多谢了!!!!!!!----------------------------------------------------------------------------------
需要声明的是: ParentForm并不是第一级窗体,Parentform关闭的以后,应用程序不退出.
解决方案 »
- 两个adoquery连接一个表的数据刷新显示问题
- 各位大虾请教下面一个问题,希望有能力者帮小弟尽快解决,有劳各位了
- 关于架构设计
- 对像怎么创建和释放。
- 有没有InstallShield完全版啊
- 利用缓存保存数据,我点击保存按钮后如何判断刚才的数据已经保存了?保存按钮还有效,但再按就会提示
- 两贴共130分求解,win98下用Canvas.Draw函数画图时,怎么才能不显示Tbitmap的背景色。高手快来拿分呀!
- 请问如何控制使得TEdit只能输入Float类型的数据?
- 怎样在文本中加入单引号和双引号
- 如何利用Delphi来实现,网络广播
- 如何在dbgrid中实现,修改,删除行,添加记录等操作?
- delphi软件想实现如此加密该如果做
action := caFree;
MyChildForm := nil;
//在此时, MyChildForm已经被 := nil, 不知道ParentForm
//还能不能够正确的释放MyChildForm的内存?????????????没有问题。在这里MyChildForm已经被销毁。2、MyChildForm已经被 := nil;它所对应的内存空间编译器是如何找到的
在系统内部,你可以理解为有一个表,包含变量名、地址等信息,因此没有问题的。————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————
MyChildForm := nil;
这样已经被释放了