加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Delphi XE2 – 嵌套类函数无法编译

发布时间:2020-12-15 09:24:36 所属栏目:大数据 来源:网络整理
导读:我正在将一些传统的第三方组件从Delphi 6源升级到XE2. 第三方源在类过程中具有嵌套的类函数.模拟将失败的确切工作副本: type TMyClass1 = class public class procedure DoSomething; end;{ TMyClass1 }class procedure TMyClass1.DoSomething; class funct
我正在将一些传统的第三方组件从Delphi 6源升级到XE2.

第三方源在类过程中具有嵌套的类函数.模拟将失败的确切工作副本:

type
  TMyClass1 = class
  public
    class procedure DoSomething;
  end;

{ TMyClass1 }

class procedure TMyClass1.DoSomething;
  class function DoSomethingelse: boolean;
  begin
    result := false;
  end;
begin

end;

尝试编译这会给出一个关于doSomethingelse是未声明的标识符的错误.现在我可以(大概)通过将嵌套函数拉出到同一级别来解决这个问题,但是我可以设置一个编译器选项来防止这种情况吗?这是最近改变了吗?还有其他人遇到过这个问题吗?

谢谢

解决方法

为了在XE2中编译你的代码,只需删除DoSomethingelse定义的类Keyword,即使这段代码在旧版本的delphi中编译(我在Delphi 5,7和2007中测试了你的代码)我也看不到这一点(或者使用class关键字声明嵌入(内部)过程或函数.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读