function TTAutoTest.Getobj: OleVariant;
var t:Tdataclass;
ms:tmemorystream;
begin
t := TDataclass.create(nil);
ms := Tmemorystream.create;
try
t.Savetostream(ms);
result := vararraycreate([0,ms.size-1],varbyte);
ms.position := 0;
ms.readbuffer(varArrayLock(result)^, ms.size);
finally
t.free;
ms.free;
varArrayunlock(result);
end;
end;
var t:Tdataclass;
ms:tmemorystream;
begin
t := TDataclass.create(nil);
ms := Tmemorystream.create;
try
t.Savetostream(ms);
result := vararraycreate([0,ms.size-1],varbyte);
ms.position := 0;
ms.readbuffer(varArrayLock(result)^, ms.size);
finally
t.free;
ms.free;
varArrayunlock(result);
end;
end;
博客展示了function TTAutoTest.Getobj函数的代码实现。该函数创建了Tdataclass和tmemorystream对象,将数据保存到流中,创建变体数组,读取流数据到数组,最后释放对象和解锁数组。
794

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



