delphi 流Stream 和 Variant 的转换函数

Posted on 2008-07-17 02:30  白兴科技  阅读(604)  评论(0编辑  收藏  举报
Variant 转换成 Stream 的函数
procedure VariantToStream (const v :olevariant; Stream : TMemoryStream); 
var 
  p : pointer; 
begin 
  Stream.Position :
= 0
  Stream.Size :
= VarArrayHighBound (v, 1- VarArrayLowBound(v, 1+ 1
  p :
= VarArrayLock (v); 
  Stream.Write (p^, Stream.Size); 
  VarArrayUnlock (v); 
  Stream.Position :
= 0
end

Stream 转换成 Variant  的函数
procedure StreamToVariant (Stream : TMemoryStream; var v : OleVariant); 
var 
  p : pointer; 
begin 
  v :
= VarArrayCreate ([0, Stream.Size - 1], varByte); 
  p :
= VarArrayLock (v); 
  Stream.Position :
= 0
  Stream.Read (p^, Stream.Size); 
  VarArrayUnlock (v); 
end

Copyright © 2024 白兴科技
Powered by .NET 9.0 on Kubernetes