本文整理自网络,侵删。
在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》频道 >>