delphi中的窗体问题。 varShouForm:TShou;{TShou是一个窗体}Begin ShouForm:=TShou.Create(Application); ShouForm.ShowMoudle; ShouForm.Free;end; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 同意小千的,但这样写更好,不会出问题。varShouForm:TShou;{TShou是一个窗体}Begintry Application.CreateForm(TShou,ShouForm); ShouForm.ShowMoudle; ShouForm.Free;except showmessage('窗体初始化失败!');end;end; 给分! 我的格式。总得要freeprocedure TF_1.N39Click(Sender: TObject);begin N33.Click ; Try F_10 := TF_10.Create( Self ); F_10.ShowModal ; Finally F_10.Free ; End ;end; 对,在finally中总要释放资源的。 To jianping0(ljp)我写的有问题吗? 他不想用模态窗体嘛, 应该这样的。我在主窗口中,当一个按钮按下时:varShouForm:TShou;{TShou是一个窗体}Begin ShouForm:=TShou.Create(Application); TShou.Show();end;在窗体的关闭事件里写Action:=CaFree;放掉窗体 我同意truezerg(赵明宇)的。我在主窗口中,当一个按钮按下时:varShouForm:TShou;{TShou是一个窗体}Begin ShouForm:=TShou.Create(Application); TShou.Show();end;在窗体的关闭事件(OnClose)里写Action := CaFree;再在窗体的(OnDestroy)里写ShouForm := nil; 如果没有什么特殊要求的话,我建议干脆执行程序时创建窗体,然后使用show,即使在xxxx.prg文件中创建;而不是按下按纽时创建。 楼上两位的方法正确,但这么做有一个问题,就是多次点击按钮会生成多个ShouForm,一般情况下同一个窗体只需要显示一个就行了,那么可以这么做:如果不是MDI窗体,就像tikkypeng(千两狂死郎)兄写的那样用ShowModal显示如果是MDI窗体,就要定义全局变量ShouForm,然后加如下代码:begin if ShouForm = nil then ShouForm:=TShou.Create(Application); ShouForm.Show;end;还要加在窗体的关闭事件(OnClose)里写Action := CaFree;再在窗体的(OnDestroy)里写ShouForm := nil;试试看。 close并不执行destroy事件的,应该这样shouform.free;shouform:=nil; 同意 Nizvoo(瓦匠泥) 的意见 因为我特别喜欢.free 呵呵! 祝泡妞快乐!!!CSDN的兄弟们还等你回来玩呢 急,在线等.关于stringgrid颜色问题. 请教 请教报表问题 简单问题,请问如何在程序中调用Windows的标准拨号上网的对话框? 用delphi怎样实现:创建一个IIS 虚拟目录? 我记得BDE的表的记录号常为-1,不可靠,ADO的记录号可靠吗?有没有为-1的情况? 帮忙,数据库问题,高分,随便奉送. 数据库小问题 如何优化ado的速度?什么情况下不需要adoquery1.close ??大鸟帮我! 300分 求修改内存实例 用delphi能实现网上投票作弊吗? 快受不了Begin...End了
var
ShouForm:TShou;{TShou是一个窗体}
Begin
try
Application.CreateForm(TShou,ShouForm);
ShouForm.ShowMoudle;
ShouForm.Free;
except
showmessage('窗体初始化失败!');
end;
end;
给分!
总得要free
procedure TF_1.N39Click(Sender: TObject);
begin
N33.Click ;
Try
F_10 := TF_10.Create( Self );
F_10.ShowModal ;
Finally
F_10.Free ;
End ;end;
我写的有问题吗?
我在主窗口中,当一个按钮按下时:
var
ShouForm:TShou;{TShou是一个窗体}
Begin
ShouForm:=TShou.Create(Application);
TShou.Show();
end;
在窗体的关闭事件里写
Action:=CaFree;放掉窗体
我在主窗口中,当一个按钮按下时:
var
ShouForm:TShou;{TShou是一个窗体}
Begin
ShouForm:=TShou.Create(Application);
TShou.Show();
end;
在窗体的关闭事件(OnClose)里写
Action := CaFree;
再在窗体的(OnDestroy)里写
ShouForm := nil;
我建议干脆执行程序时创建窗体,然后使用show,即使在xxxx.prg文件中创建;
而不是按下按纽时创建。
一般情况下同一个窗体只需要显示一个就行了,那么可以这么做:
如果不是MDI窗体,就像tikkypeng(千两狂死郎)兄写的那样用ShowModal显示
如果是MDI窗体,就要定义全局变量ShouForm,然后加如下代码:
begin
if ShouForm = nil then
ShouForm:=TShou.Create(Application);
ShouForm.Show;
end;
还要加
在窗体的关闭事件(OnClose)里写
Action := CaFree;
再在窗体的(OnDestroy)里写
ShouForm := nil;试试看。
shouform.free;
shouform:=nil;
CSDN的兄弟们还等你回来玩呢