我从网下下了一个程序.是这样创建的.var
main1: Tmain;
begin
main1:= Tmain.create();
main1.show;
main.free;
end;这样不就刚刚建完就析构了吗?可是程序还是可以照样运行.大家帮我讲讲这是怎么一回事.
main1: Tmain;
begin
main1:= Tmain.create();
main1.show;
main.free;
end;这样不就刚刚建完就析构了吗?可是程序还是可以照样运行.大家帮我讲讲这是怎么一回事.
解决方案 »
- delphi 数据库编程创建数据表,表名可以是变量吗?变量应该怎么表示阿。谢谢
- 在类内部传递实例参数
- 有没有上下移动记录的表格控件
- 吃“仁”
- 用installshield 做安装程序的问题,答对马上结贴,100分
- 请高手帮忙,SOS!!!
- ServerSocket问题,能否在在服务器端取得客户端的端口
- 请问用ADOTable的filter来模糊过滤,是用什么,是*还是%,还是...(*和%好像都不行)
- QuickReport打印预览后点打印按钮,不能打印,不能关闭,只有点最小化按钮后才打印和关闭
- 以前的贴子怎么看到?
- 关于DELPHI的IDE...DELPHI好象要改名字了
- 如何取出DBGrid中小箭头所指示行的所有字段的内容?
main1: Tmain;
begin
main1:= Tmain.create();
main1.show;
main.free; <-- 这是main还是main1?
end;
var
main:tmain;
begin
if not assigned(main) then
begin
Application.CreateForm(Tmain,main);
try
Main.showmodal;
finally
FreeAndNil(Main);
end;
end
else
Main.show;
end;
main1: Tmain;
begin
main1:= Tmain.create();
main1.show;
main.free; <-- 这是main还是main1?
end;
这个正解
请不要胡说!show执行后立即返回!!!请你不要乱说。
showmodel才是要等到窗口关闭后才返回。楼主你的FREE的是main不是mainl,所以窗口还在。