一个MDI程序,从菜单中调用其它的子窗休。
if Not Assigned(Form1) Then
Form1 := TForm1.Create(Self);
Form1.Show;
第一次调用没有问题,但关闭该窗体后再次调用,则出现什么地址错误,好像是被重复创建,请问各位,如果在MDI窗休中创建一个子窗体后,如果再次创建,则显示上次创建窗休否则创建。如何写代码。小弟是DELPHI菜鸟,各位大虾帮忙。
if Not Assigned(Form1) Then
Form1 := TForm1.Create(Self);
Form1.Show;
第一次调用没有问题,但关闭该窗体后再次调用,则出现什么地址错误,好像是被重复创建,请问各位,如果在MDI窗休中创建一个子窗体后,如果再次创建,则显示上次创建窗休否则创建。如何写代码。小弟是DELPHI菜鸟,各位大虾帮忙。
解决方案 »
- 用什么组件快速画这种条形图?(有图)
- 在做一个城市公交查询系统 在做以下代码时出错?
- delphi中调用DLL文件时,数组是怎么调用的(实参数组和形参数组的相互传递)?
- 打造一个COMMAND.
- 请大虾们推荐几本入门的书吧~~
- MASKEDIT没有完整年份的日期格式吗?我发现MaskEdit只能表示1952年-2051年,请问要把表示范围变化一下,应该怎么办?
- 请问高手,在windows 2000 (server)导出com+客务端代理。。。
- 一个菜鸟的毕业设计问题(数据库)
- Borland終於售出CodeGear
- 有谁知道什么地方可以免费上传软件供人试用?我有一个软件想发表!
- 求Delphi对数据库数据加密解密的程序及其用法,最要紧是简单.帮UP谢谢
- 如何使光标focus到指定的Edit?
把
{var
Form1: TForm1;}
注掉
procedure TMainForm.Button3Click(Sender: TObject);
var
ChildForm: TForm1;
begin
ChildForm := TForm1.Create(Application);
ChildForm.Show;
end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
但是我的想法是这样的,如果该窗休创建过以后,下次要创建就只将上次创建的窗休显示到前端,而不是再创建一个窗体。
firetoucher(风焱) :
为什么
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
FreeAndNil(Form1);
end;
窗体并没有关闭,只是缩小到了主窗体的下面。
Form1:=nil;
begin
Action := caFree;
end;
form1为mdi子窗体