读书人

退出程序很难吗?为什么小弟我这么做是

发布时间: 2012-04-15 18:39:21 作者: rapoo

退出程序很难吗?为什么我这么做是不行的,应该怎么做呢?
procedure TForm1.Button1Click(Sender: TObject);
var
p:PChar;
begin
GetMem(P,100);
if P=nil then
Application.Terminate;
self.Caption:=p^;
end;

就这么几行的代码,却是错误的,程序每次执行都会异常。“self.Caption:=p^”一定会执行到,执行“Application.Terminate”程序并不会立刻结束。
那在一个希望应用程序立刻退出的情况,难道调用Halt?但是在《Delphi技术手册》中明确说明不应该调用Halt。

[解决办法]
同意一楼

Application.Terminate;
是用消息的方式退出程序,如果后面还有别的语句,而没有Exit之类的话,
得执行完后面的语句,才能处理退出消息。

执行下面代码看看,就可以发现消息提示框会出现

procedure TForm1.Button1Click(Sender: TObject);
begin
Application.Terminate;
ShowMessage('OK');
end;

读书人网 >.NET

热点推荐