DocSize := memStream.Size;
if Not (DocSize = 0) then
begin
TVarData(DocData).VPointer := AllocMem(DocSize);
memStream.Position := 0;
memStream.Read(TVarData(DocData).VPointer^,DocSize);
end;
if((Not (TVarData(DocData).VPointer = nil)) and
(Not (DocSize = 0)) )then
begin
OfficeControl.OpenFromVariant(DocData,DocSize);
end;
//释放内存
memStream.Free;
if (Not (TVarData(DocData).VPointer = nil)) then
begin
FreeMem(TVarData(DocData).VPointer);
TVarData(DocData).VPointer := nil;
end;
end;
DocSize := memStream.Size;
if Not (DocSize = 0) then
begin
TVarData(DocData).VPointer := AllocMem(DocSize);
memStream.Position := 0;
memStream.Read(TVarData(DocData).VPointer^,DocSize);
end;
把这段在delphi里封装成函数,作为第三方控件导入到平台中调用。