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

相关阅读 >>

Delphi (user agent) of a twebbrowser

Delphi x秒生成大量垃圾字符

Delphi 限制edit输入 多个例子

Delphi xe tparallel.for循环

Delphi监视进程并结束进程

sqlite中的pragma语句攻略

Delphi tidhttp 登录网页封装

Delphi 什么是堆、栈?

Delphi侦测按键输入

Delphi获取开机时间代码

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...