似乎这里的一切都已经被考虑和尝试过了。但我又遇到了一把旧耙子。 Delphi 11/12,处理大型文本文件。
简单代码:
var slist:TStringList;
slist:=TStringList.Create;
slist.LoadFromFile(ParamStr(1));
导致错误 Exception EIntOverflow in module PrimitiveMotif.exe at 0000000000010DEA,版本 11 中的整数溢出,以及错误 Exception EAbstractError in module PrimitiveMotif.exe at 0000000000044191,抽象错误在版本 12 中。
该文件是文本。是的,巨大(就像我们所有人一样)。但“仅”1.5 GB,FAR 仅显示 1800 万行,这非常符合 TStringList 的限制。计算机上的内存 - 已满 (192 GB)。去哪里挖?
PS 字符串 - ANSI