内部错误URW1135

jpf*_*ius 1 delphi generics delphi-2009

在发布模式下构建应用程序时,我在其中一个文件的末尾出现内部错误URW1135.我搜索了互联网,发现(这里)它可能是关于泛型类型的数组

MyClass <T> = class
  FArray : array of T;
end;
Run Code Online (Sandbox Code Playgroud)

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

但不幸的是,错误仍然存​​在.什么想法可能是错的?

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

提前致谢.

Mas*_*ler 5

D2009编译器中仍存在一些与Generics相关的不同问题,即使在Update 3修复了它们之后也是如此.剩下的大多数都会产生编译器致命错误,URW 1135是最常见的错误之一.如果该解决方案不起作用,请寻找其他解决方案.

编译器在一个地方声明一个专门的泛型类并在其他地方使用它时遇到的麻烦最多.例如,在一个单元中:

type
  TMyList = TObjectList<TMyClass>;
Run Code Online (Sandbox Code Playgroud)

在另一个单位:

var
  myList: TMyList;
Run Code Online (Sandbox Code Playgroud)

这可能会或可能不会导致编译器错误,主要基于随机数神的奇思妙想.

我一直在努力识别和报告尽可能多的这些错误,尽管我还没有看到任何只在发布模式中出现的错误.如果您可以追溯到特定事件,请将其报告给QC,以便他们可以修复它.希望Delphi 2010免于泛型问题.