首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >引发异常类分段错误(11)。delphi android

引发异常类分段错误(11)。delphi android
EN

Stack Overflow用户
提问于 2014-08-14 19:45:13
回答 1查看 4.7K关注 0票数 0

早上好,我在重写创建表单时遇到了这个问题,在我意识到错误引发了异常类分段错误(11)之前,当我代理应用程序时遇到了acessviolation。

代码语言:javascript
复制
Tfrm_cart.Create constructor (AOwnerr: TComponent; ptipo1: String; PID1: Integer); 
begin 
   try 
     inherited Create (AOwnerr); 
     type: = ptipo1; 
     id: = PID1; 
  except 
     on e: Exception of 
       begin 
         ShowMessage (e.Message); 
       end; 

   end; 

end;

并将其称为

代码语言:javascript
复制
 With frm_cart.Create (self, 'INC', 0) of 

      begin 
             frm_cart.Show; 
             Free; 
      End; 

并在Delphi中实现了表单的自动生成。

有谁知道吗?

EN

回答 1

Stack Overflow用户

发布于 2014-08-14 21:10:42

从问题中我们可以看到,您似乎正在尝试创建表单的一个实例,但随后在另一个实例frm_cart上调用Show方法。

这本身肯定是错误的。很可能frm_cart没有初始化,因此出现了分段错误。

但创建过程也会中断,因为您在实例而不是类上调用了构造函数。书中最古老的错误。

然后在Show之后立即调用Free,这也相当于否定了代码的效用。

我希望您删除frm_cart变量并编写:

代码语言:javascript
复制
Tfrm_cart.Create(...).Show;

此外,即使在最好的情况下,接受异常也是不好的,但在构造函数中却是一个严重的错误。当构造函数引发异常时,这意味着对象尚未正确创建。试图继续下去,就好像问题从来没有发生过一样,只是推迟了痛苦。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25307280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档