作者:
陆岛工作室
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 ;
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 ;
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 的函数
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 ;