当我声明一个通用的“T数组”时,我该如何处理内部错误?

时间:2012-02-24 10:52:02

标签: delphi generics delphi-xe2

此单元无法在XE2 Update 3中编译“[DCC致命错误] Test.pas(22):F2084内部错误:URW1147”

unit Test;

interface

type
  TSorter<T> = procedure(var Values: array of T);

  TTest = class
  public
    procedure Sort<T>(const Sorter: TSorter<T>);
  end;

implementation

procedure TTest.Sort<T>(const Sorter: TSorter<T>);
begin
end;

end.

我已提交质量控制报告:QC#103671

有没有人对此有解决方法?

1 个答案:

答案 0 :(得分:15)

如果用TSorter<T> = procedure(var Values: TArray<T>);替换TSorter声明,它在XE上编译正确。