代码之家  ›  专栏  ›  技术社区  ›  jpfollenius Rob Kennedy

内部错误URW1135

  •  1
  • jpfollenius Rob Kennedy  · 技术社区  · 15 年前

    在发布模式下构建应用程序时,在其中一个文件的结尾处出现内部错误URW1135。我在网上找到了( here )它可以是关于类泛型类型的数组

    MyClass <T> = class
      FArray : array of T;
    end;
    

    因此,我在整个代码库中应用了建议的解决方法(声明类型t array type=t数组)。

    但不幸的是,错误仍然存在。有什么问题吗?

    令人惊讶的是,在调试模式下,一切正常。

    事先谢谢。

    2 回复  |  直到 13 年前
        1
  •  5
  •   Mason Wheeler    15 年前

    在D2009编译器中仍然存在一些与泛型相关的问题,即使在更新3修复了这些问题之后。剩下的大多数错误都会导致编译器致命错误,其中最常见的错误之一是URW 1135。如果这个解决方案不起作用,那就找其他解决方案。

    编译器在一个地方声明一个专门的泛型类并在其他地方使用它时遇到了最大的困难。例如,在一个单元中:

    type
      TMyList = TObjectList<TMyClass>;
    

    在另一个单元中:

    var
      myList: TMyList;
    

    这可能会或可能不会导致编译器错误,主要是基于随机数神的突发奇想。

    我一直在努力识别和报告尽可能多的这些bug,尽管我还没有看到任何只在发布模式下出现的bug。如果你能追踪到这一个具体的事件,请向质量控制报告,以便他们能修复它。希望Delphi2010不会出现仿制药的问题。

        2
  •  1
  •   Kenneth Cochran    13 年前

    它是 Code inlining control 在项目选项中设置。如果它设置为 汽车 . 将其设置为 远离的 在我的版本中,构建允许它编译而不产生内部错误。