procedure VariantToStream(const Data: OleVariant; Stream: TMemoryStream);
var
p: Pointer;
begin
p := VarArrayLock(Data);
try
Stream.Position := 0;
Stream.Write(p^, VarArrayHighBound(Data, 1) + 1);
finally
VarArrayUnlock(Data);
Stream.Position := 0;
end;
end;
function StreamToVariant(Stream: TStream): OleVariant;
var
p: Pointer;
begin
Result := VarArrayCreate([0, Stream.Size - 1], varByte);
p := VarArrayLock(Result);
try
Stream.Position := 0;
Stream.Read(p^, Stream.Size);
finally
VarArrayUnlock(Result);
Stream.Position := 0;
end;
end;
本文介绍了一种在Delphi中实现的将Variant类型数据转换为内存流和从内存流读取Variant类型数据的方法。procedureVariantToStream过程用于将Variant数据写入TMemoryStream,而StreamToVariant函数则用于从TStream读取数据并将其转换为OleVariant。这两种方法对于在应用程序间传递Variant数据特别有用。
718

被折叠的 条评论
为什么被折叠?



