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关闭进程

Delphi 使用shellexecuteex运行应用程序并等待完成

Delphi 读url下txt中的下载地址的简单下载者代码

Delphi idhttp组件+idhttpserver组件实现文件下载服务

Delphi 隐藏进程的单元 unit hideprocess.pas

Delphi fdconnection1 获取数据库总记录数

模拟鼠标点击 查找窗口标题

Delphi ios 保持设备开机状态

Delphi的控制台程式添加公司信息、版权信息

Delphi 先加载原内容在写入增加新内容

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



打赏

取消

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

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

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

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

评论

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