打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Delphi中Variant和Stream的互换
Delphi中Variant和Stream的互换
2009-2-8 9:07:36 来源: 转载 作者:wong aiirii 访问:333 次 被顶:3 次 字号:【大 中 小】
核心提示:在Com, Dcom, Com+中经常要用到variant, 而在delphi中的文件操作之类中, 更多的用到Stream,有时需要互相转换!...var
  ov: OleVariant;
  ms: TStream; p: Pointer;
begin
  ov := dmMain.ComConnection.AppServer.TimeZone;
  ms := TMemoryStream.Create;
  ms.Position := 0;
  p := VarArrayLock(ov);
  ms.Write(p^, VarArrayHighBound(ov, 1)); //这句可否改进?
  VarArrayUnlock(ov);
  ms.Position := 0;
  ...
  ms.Free;
end;
Stream --> Variant
function TTCanteenSvr.Get_TimeZone: OleVariant;
var
  AStream: TStream;
  MyBuffer: Pointer;
begin
  try
    AStream := TFileStream.Create(, fmOpenRead);
    Result := VarArrayCreate([0, AStream.Size - 1], VarByte);
    MyBuffer := VarArrayLock(Result);
    AStream.ReadBuffer(MyBuffer^, AStream.Size);
    VarArrayUnlock(Result);
  finally
    AStream.Free;
  end;
本文来自Delphi之窗,原文地址:http://www.52delphi.com
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Preview HTTP Posted Data using Delphi and TWebBrowser
TMemoryStream、String与OleVariant互转
delphi 检查输入的IP地址串是否合法
NSInputStream 和 NSOutputStream
请问下delphi中如何将指目录下的图片化成二进制流输出?
C# 下载网页数据备用代码
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服