[求助]动态数组的问题
小菜虫子我又来了。。。呵呵发现了一个奇怪的问题,代码是这样的。。。
EndBuff : array [0..40000] of single; (全局变量)
程序内。。。
var
EndData : array of smallint;
smFile : file of smallint;
begin
count1:=a*b; (a,b都是从别的地方得到的integer)
SetLength(EndData,count1);
for i := 0 to Count1 - 1 do
begin
data := EndBuff[i]*1000;
EndData[i] := Round(data);
end;
AssignFile(smFile, outFile); //outfile是输出文件名
Reset(smFile);
BlockWrite(smFile,EndData,count1);
CloseFile(smFile);
end;
如上,把EndData定义为动态数组的时候,程序运行到BlockWrite就会出现I/O ERROR 1784的错误
如果把EndData拿到全局变量去就没有问题,这个是怎么回事啊~~
用BlockWrite的时候不能用动态数组么?
大家过来帮我看看,感激不尽了~~~