【原】DelphiXe 中静态数组TByteArray和动态数组TBytes /array of byte 的区别
2011-01-28 12:41
896 查看
在应用中发现静态数组和动态数组是有区别的:
procedure TForm1.Button1Click(Sender: TObject);
var
RsltStream: TMemoryStream;
picBuffer: TByteArray;
begin
RsltStream := TMemoryStream.Create;
RsltStream.LoadFromFile('e:\pic.txt');
RsltStream.Position := 0; // 流读取操作前必须将指针回到起始位
RsltStream.ReadBuffer(picBuffer,RsltStream.Size); //静态数组中picBuffer 和picBuffer[0] 的指针是相同的
end;
procedure TForm1.Button1Click(Sender: TObject);
var
RsltStream: TMemoryStream;
picBuffer: TBytes; //array of byte
begin
RsltStream := TMemoryStream.Create;
RsltStream.LoadFromFile('e:\pic.txt');
RsltStream.Position := 0; // 流读取操作前必须将指针回到起始位
setlength(picBuffer, RsltStream.Size); //给动态数组定义长度
RsltStream.ReadBuffer(picBuffer[0],RsltStream.Size); //动态数组中必须用picBuffer[0] ,否则地址错误,数据也是错误的
end;
procedure TForm1.Button1Click(Sender: TObject);
var
RsltStream: TMemoryStream;
picBuffer: TByteArray;
begin
RsltStream := TMemoryStream.Create;
RsltStream.LoadFromFile('e:\pic.txt');
RsltStream.Position := 0; // 流读取操作前必须将指针回到起始位
RsltStream.ReadBuffer(picBuffer,RsltStream.Size); //静态数组中picBuffer 和picBuffer[0] 的指针是相同的
end;
procedure TForm1.Button1Click(Sender: TObject);
var
RsltStream: TMemoryStream;
picBuffer: TBytes; //array of byte
begin
RsltStream := TMemoryStream.Create;
RsltStream.LoadFromFile('e:\pic.txt');
RsltStream.Position := 0; // 流读取操作前必须将指针回到起始位
setlength(picBuffer, RsltStream.Size); //给动态数组定义长度
RsltStream.ReadBuffer(picBuffer[0],RsltStream.Size); //动态数组中必须用picBuffer[0] ,否则地址错误,数据也是错误的
end;
相关文章推荐
- DelphiXe 中静态数组TByteArray和动态数组TBytes /array of byte 的区别
- DelphiXe 中静态数组TByteArray和动态数组TBytes /array of byte 的区别
- Byte,TBytes,array of Byte, array[0..9] of byte的区别
- Byte,TBytes,array of Byte, array[0..9] of byte的区别
- 函数的返回值问题(返回指针和数组的区别)静态存储区、动态数据区、栈
- 二维动态数组定义及二维静态数组与**P的区别
- C++中关于[]静态数组和new分配的动态数组的区别分析
- 二维动态数组定义及二维静态数组与**P的区别
- C++中关于[]静态数组和new分配的动态数组的区别分析
- 数组和指针、数组指针和指针数组、函数指针和指针函数、数组标识符的意义、静态和动态创建的数组的本质区别、标识符类型判断方法
- 关于[]静态数组和new分配的动态数组的区别
- 静态数组和动态数组的区别
- 静态数组与动态数组的区别
- 静态数组和动态数组的区别
- 二维动态数组定义及二维静态数组与**P的区别
- C#超基础:静态数组与动态数组的区别
- 二维动态数组定义及二维静态数组与**P的区别
- C++中关于函数内静态数组和new分配的动态数组的区别分析
- C++中关于[]静态数组和new分配的动态数组的区别分析
- 静态数组与动态数组的区别以及二维数组地址详解