谢谢张辉明的回帧,我再试了一下,还是过程的问题,你上面的是写一次.如果循环次数过多就会有问题:我的过程如下:
Count = 2000;
setlength(data1,40000);
setlength(data2,40000);
setlength(data3,40000);
For K := 0 to Count - 1 do//此过程全部将数据循环存入,每循环一次写入DATA1,DATA2,DATA3三个数组
begin
WCount := high(Data1) + 1;
if Mode = 0 then
begin
Target := TFileStream.Create(CreateFileName, fmOpenWrite );
Target.Seek(0, soFromEnd); //指针定位到文件尾
Target.Write(Data1[0], WCount);
Target.Seek(0, soFromEnd); //指针定位到文件尾
Target.Write(Data2[0], WCount);
Target.Seek(0, soFromEnd); //指针定位到文件尾
Target.Write(Data3[0], WCount);
Target.Free;
end
测试时,COUNT=2000,打开任务管理器之后,内存由可用的300多降为不到40M,最后电脑基本不能动了.提示虚似内存过低.