使用TFileStream.Write(Buffer,Length)函数时Length不能大于1024,否则调用失败!
另外,动态数组也是这个问题:
rb:array of Byte;SetLength(rb,Length);//Length也不能大于1024请高手指点,万分感谢!
另外,动态数组也是这个问题:
rb:array of Byte;SetLength(rb,Length);//Length也不能大于1024请高手指点,万分感谢!
Length为longint,当设置大于1024时并不发异常:
TFileStream不执行Write
而数组只对前1024个进行操作
好象沒有這個限制
就这样应该没有问题procedure TForm1.Button1Click(Sender: TObject);
var
buf:array of byte;
fo:TFileStream;
n:integer;
begin
setlength(buf,2000);
fo:=TFileStream.Create('d:\a.txt',fmCreate);
n:=fo.Write(buf,2000);
fo.Free;
ShowMessage(intToStr(n));
end;
你的程序我试过了,可以,最大能为6K,
但跟踪BUF时,只能看到1024的内容,可能是只显示1024吧?另外,写到文件中的是乱码,不知怎么回事?为了不忘记结贴,先给大家加分,谢谢了!