我正在尝试编写更大的块以提高文件保存的速度。我有大约 9 个循环要转换,但我不知道我做错了什么
fs := TFileStream.Create(Myfile, fmCreate);
此代码有效:
for RecordGroup := 0 to TotalGroups - 1 do
begin
for RecordNumber := 0 to Length(MyArray[RecordGroup]) - 1 do
begin
fs.WriteBuffer(MyArray[RecordGroup,RecordNumber],SizeOf(MyRecord));
end;
end;
当我删除内部循环以编写更大的块时,代码不起作用:
for RecordGroup := 0 to TotalGroups - 1 do
begin
fs.WriteBuffer(MyArray[RecordGroup],SizeOf(MyRecord) * Length(MyArray[RecordGroup]));
end;
我收到一般错误“流写入错误”
的值为SizeOf(MyRecord) * Length(MyArray[RecordGroup])
180 * 152,004 = 27,360,720
我读过的所有内容基本上都说这是正确的。任何想法我做错了什么?
提前感谢您的任何想法。