首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Delphi XE2嵌套类函数不能编译

Delphi XE2嵌套类函数不能编译
EN

Stack Overflow用户
提问于 2011-11-18 13:25:29
回答 1查看 611关注 0票数 4

我正在将一些遗留的第三方组件从Delphi6源码升级到XE2。

第三方源代码在类过程中嵌套了类函数。模拟将失败的精确工作副本:

代码语言:javascript
复制
type
  TMyClass1 = class
  public
    class procedure DoSomething;
  end;

{ TMyClass1 }

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

end;

尝试编译它时会出现一个错误,说明doSomethingelse是一个未声明的标识符。现在我可以(大概)通过将嵌套函数拉出到相同的级别来解决这个问题,但是有没有可以设置的编译器选项来防止这种情况发生?这是最近发生的变化吗?还有没有人遇到过这个问题?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-18 15:43:17

为了在XE2中编译你的代码,只需删除DoSomethingelse定义中的class关键字,即使这段代码在旧版本的delphi中编译(我在Delphi5,7和2007中测试过你的代码),我也看不出用class关键字声明嵌入式(内部)过程或函数有什么(或区别)。

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

https://stackoverflow.com/questions/8178142

复制
相关文章

相似问题

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