关于退出代码的编写问题。(20分)

  • 主题发起人 主题发起人 iCANK
  • 开始时间 开始时间
I

iCANK

Unregistered / Unconfirmed
GUEST, unregistred user!
写“退出”按钮代码的时候,我总是用下面的代码:
Release();
Application.Terminate();
好像在哪本书上看到说这样写可以释放掉全部被占用的资源,这种说法对吗?
还有,我这样写编译的时候也可以通过:
Release;
Application.Terminate;
在Object Pascal里,哪样写才是规范的?
谢谢!
 
()内没有内容的,可以省略,都是标准的。
就好像说:

1+1=2

1 + 1 = 2
那个是标准的一个道理,都是标准的。
 
close;
就行了吧?
 
Application.Terminate就可以了.....
 
Release();是C++的书写习惯
Release是object pascal的书写习惯
 
啊,amsea兄和jackl兄的意见截然相反呢!!
有没有权威一点的回答啊?
还有,
好像在哪本书上看到说这样写可以释放掉全部被占用的资源,这种说法对吗?
:)谢谢。
 
runerror;
close;
halt;
Terminate
都是可以的,但有什么区别,你可以试一下拉
 
Release是在Form代码中释放Form使用的方法,对应于在Form代码外使用Free释放Form
对于MainForm的情况,直接Close即可,因为MainForm一旦Close,程序就关闭了
进程结束后所有进程使用的进程相关资源都会自动释放,因而没有必要Release
而Application.Terminate则是可以在任何地方终止应用程序的执行,比如你一个子Form中
需要结束应用程序,就用这个,主Form里面不需要。同样Release和Free也只是用于非主Form
至于Exit, RunError, Halt不推荐在VCL程序里面使用,在命令行程序中可选择使用
因为有些资源是不会随进程结束而自动释放的,这是需要Application或其他后台对象进行释放
因此在主Form中通过Close关闭程序,在其他地方通过Application.Terminate关闭程序
 
Application.Terminate一般比较少用! 不会触发MainForm.Close.
通常情况下MainForm.Close就可以了!
 
呵呵,分不多,请笑纳!:)
 
多人接受答案了。
 
后退
顶部