加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

解决 lazarus 0.9.30 退出程序的问题

(2011-10-16 17:13:26)
标签:

it

在升级了 Ubuntu 11.10 之后,发现对应的 lazarus 版本也被升到了 0.9.30,但是这个版本产生了一个问题,即在静态调用了 so 之后,无法正常退出程序,程序会卡在最后的那个界面上,然后再也不动,过一阵子系统提示无响应,强制退出。

这无疑是一个不好的体验,当然了,你可以在升级的时候,选择不升级 lazarus,或是在 ubuntu 11.10 装好后,再换源把 lazarus 降回 0.9.28,都不会有问题,但是这样也就失去了体验新版本的机会。

我是不愿去追究这个问题的来源,因为这并没有意义,我更愿意解决问题,其实这个问题的解决也很简单,既然关不掉,那么就强行的杀掉它,linux 下提供了相当强大的杀掉进程的方法,代码如下

procedure killSelf;
begin
  with TProcess.Create(nil) do
  begin
    CommandLine := Format('kill %d', [GetProcessId]);
    Execute;
  end;
end;

好啦,在想关掉程序的地方调用这个函数就可以了,比如说

procedure TForm1.FormDestroy(Sender: TObject);
begin
  killSelf;
end;

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有