procedure TForm1.Button3Click(Sender: TObject);
begin
if not assigned(Form2) then
Form2 := TForm2.Create(Application);
try
Form2.ShowModal;
finally
Form2.Free;
// Form2 := nil;
end;end;procedure TForm1.Button4Click(Sender: TObject);
begin
Edit2.Text := IntToStr(Form2.gFrame);
end;procedure TForm1.Button5Click(Sender: TObject);
begin
Form2.gFrame := Form2.gFrame + 12;
Edit2.Text := IntToStr(Form2.gFrame);
end;这里的Form2.Free怎么理解,将Form2所指向的内存空间释放后,怎么可以继续对Form2.gFrame进行操作,是不是因为Form2.gFrame还指向原来的地址,如果是这样,这里所指的内存空间释放是不是说下次创建新的窗体时这段内存空间可以进行重新分配,而在它重新分配前,里面的结构还是原来的
begin
if not assigned(Form2) then
Form2 := TForm2.Create(Application);
try
Form2.ShowModal;
finally
Form2.Free;
// Form2 := nil;
end;end;procedure TForm1.Button4Click(Sender: TObject);
begin
Edit2.Text := IntToStr(Form2.gFrame);
end;procedure TForm1.Button5Click(Sender: TObject);
begin
Form2.gFrame := Form2.gFrame + 12;
Edit2.Text := IntToStr(Form2.gFrame);
end;这里的Form2.Free怎么理解,将Form2所指向的内存空间释放后,怎么可以继续对Form2.gFrame进行操作,是不是因为Form2.gFrame还指向原来的地址,如果是这样,这里所指的内存空间释放是不是说下次创建新的窗体时这段内存空间可以进行重新分配,而在它重新分配前,里面的结构还是原来的
解决方案 »
- 使用 UDP 发送图片,总是要掉包,该如何解决?
- 串口编程:使用MSComm控件收发数据的问题!急!
- Fastreport 固定打印格式
- 如何取得考勤卡钟数据?--realgz、邹建、马可等帮忙看看!
- 問個SQL的查詢問題!
- 请教关于Delphi的Service Application
- 如何使用别人已经开发好的控件
- combobox小问题
- 问一个很菜的问题,文本框中的text如何靠右?就象计算器的显示那样
- delphi 中建立临时表及取得临时表内容
- 如何取消win2000下的CTRL+ALT+DEL的组合键的功能,高分求教!高分阿高分
- 在程序中我用 WinExec 启动了另一个程序,怎样判断该程序什么时候结束!
就释放了,如果还要用到
只能再次
Form2 := TForm2.Create(Application);
FREE了之后是找不回来的
TForm1.Button3Click后关闭Form2,这时Form2.gFrame还是指向原来的地方,TForm1.Button5Click也可以对它赋值,如果这时在创建一个其他的窗体Form3,关闭后再
Button4Click或Button5Click,Form2.gFrame里的值就变了这是不是可以证明"这里所指的内存空间释放是不是说下次创建新的窗体时这段内存空间可以进行重新分配,而在它重新分配前,里面的结构还是原来的",重新分配后就变了.