Delphi 编译关闭时 Stack overflow 错误

95 篇文章 0 订阅
24 篇文章 2 订阅

     本人工程文件,编译EXE文件,程序关闭时出现 Stack overflow 错误。网搜索一些解决办法:比如,加大堆栈...,均不能问题。虽然,生成的EXE文件,执行时,无任何问题。

     Stack overflow 错误,提示代码中是有错误,为此,作了一番搜索。 

      一、本人使用国外的第三方控制,从此入手,末找到有因。

      二、错误是在退出软件时,出现这样的错误。因此在关闭窗口和退出程序的事件中, 一步一步地查找。

      三、子窗口中退出窗口中找到原因后,主程序MainFrm中的还存在原因。

      查找的步骤不一一细说了,

      最终,找到问题。

     1、这一问题,与常规的代码不同(常规是正常运行的);

      2、这一问题,与使用第三方控件TRichview(TRickEdit)有关;

      3、关键在窗口的FormDestroy事件中。常规用以下代码: 

procedure TRichView_CH_Frm.FormDestroy(Sender: TObject);
begin
  action:=caFree;
  RichView_CH_Frm.Free;
end;

主程序的FormDestroy事件:

procedure TMainFrm.FormDestroy(Sender: TObject);
begin
//   Self.Free;
  MainFrm.Free;
end;

     四、问题解决

     1、主窗口的FormDestroy事件清空代码;

     2、相关使用TRichView窗口的FormDestroy事件清空代码;

     问题往往是一丢丢,花费大量时间去搜索查找,能找到还是幸运的,找不到...

     问题分析,第三方控件,在释放的代码已经作为相关的处理,不必再操作了。否则,出现问题。

     上述一个帮助记忆,二是为同仁提供一个借鉴。i

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值