delphi中窗体互相调用出错

大家好,有一难题不知道怎么解决。要求form1点击按钮可以到form2,form2点击按钮又可以回到form1。tryifnotAssigned(form2)thenbe... 大家好,有一难题不知道怎么解决。
要求form1点击按钮可以到form2,form2点击按钮又可以回到form1。
try
if not Assigned(form2) then
begin
form2 := Tform2.Create(nil);
end;
form2.ShowModal;
finally
if Assigned(form2) then
FreeAndNil(form2);
end;
这样写代码调第二次的时候就会提示窗体已存在

try
if not Assigned(form2) then
begin
form2 := Tform2.Create(nil);
end;
Close;
finally
end;
这样写多调几次没问题,但是中间再打开其它窗口的话就无法回到form2了

try
if not Assigned(form2) then
begin
form2 := Tform2.Create(nil);
end;
except
FreeAndNil(form2);
form2 := Tform2.Create(nil);
这样写的话就没办法让form2显示自己想要显示的内容

大家有没有遇到这种情况?难道delphi真的不能像网站那样各个页面可以随便返回吗?
展开
 我来答
百度网友1b932d7
2009-09-10 · TA获得超过816个赞
知道小有建树答主
回答量:455
采纳率:0%
帮助的人:421万
展开全部
你可以不关闭只把窗体的visible设置成false
控制他们的visible属性
就可以像网站那样随便返回了
TheFiend
2009-09-10 · TA获得超过625个赞
知道大有可为答主
回答量:1346
采纳率:0%
帮助的人:1216万
展开全部
try
if not Assigned(form2) then
begin
form2 := Tform2.Create(nil);
end;
Close;
finally
end;
close了,并没有Free.
而且你没有调用show来显示.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式