- 人气:
- 放大
- 缩小
- 二维码
- 赞赏
delphi 利用TMemoryStream对象存取缓存
在Delphi中怎么样才能非常容易的整合多个指针指向的缓存呢?利用Move函数可以做到这一点,但是很不好控制,容易造成内存泄漏等情况。最方便的做法是使用TMemoryStream对象:
var
TempMem:TMemoryStream;
P1,P2:Pointer;
begin
P1:=StrNew('123456');
P2:=StrNew('789');
OutputDebugString(PChar(p1));
OutputDebugString(PChar(p2));
TempMem:=TMemoryStream.Create;
try
TempMem.Position:=0;
TempMem.size:=20;//设置TempMem对象Memory属性空间的大小
TempMem.WriteBuffer(P1^,12);//注意,WriteBuffer是往对象内部的Memory属性中写入数据;ReadBuffer方法是往传入参数的空间中写入数据
TempMem.WriteBuffer(P2^,6);
OutputDebugString(PChar(TempMem.Memory));
finally
TempMem.Free;
end;
StrDispose(PChar(p2));
StrDispose(PChar(p1));
end;
来源:http://blog.sina.com.cn/s/blog_140f86bd70102xues.html