我刚刚发现了泛型(我知道很惊讶!)并立即爱上了它......直到我发现[DCC Fatal Error] F2084 Internal Error: L1737
如果我有这个代码,Delphi 2010(安装了更新 4 和 5)会失败并显示可怕的消息:
// Global array of list
IDsList : Array [1..5] Of TDictionary<Int64, Int64>;
function MyProc;
var
i : Integer;
Enum : TDictionary<Int64, Int64>.TPairEnumerator;
begin
// ...
Enum := IDsList[i].GetEnumerator;
while Enum.MoveNext do
begin
// ...
end;
end;
准确地说,除非我评论这一行,否则 Delphi 无法编译Enum := IDsList[i].GetEnumerator;
使用数组大大简化了我的代码,有没有办法避免这个 L1737 错误消息?
PS。我对 Delphi 并不陌生,只有泛型!