为什么我的OleContainer的loadfromstream总是不成功?(50分)

  • 主题发起人 主题发起人 chuah
  • 开始时间 开始时间
C

chuah

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.Button1Click(Sender: TObject);
var
ms: TMemoryStream;
begin
ms := TMemoryStream.Create;
(ADOTable1.FieldByName('r_text') as TBlobField).SaveToStream(ms);
ms.Position := 0;
OleContainer1.LoadFromStream(ms);//这里有 invalid stream format错误
OleContainer1.DoVerb(1);
ms.Free;
end;

我再定义一个ts: tstream;
ts := tmemorystream.create;
ts.copyfrom(ms,ms.size);
OleContainer1.LoadFromStream(ts);//也不对

为什么,望指教
 
这与FieldByName('r_text') 的内容有关,OleContainer用这种方式打开,它的内容必须是 OleContainer.SaveToStream的数据
 
那有什么办法可以将该内容以word的形式显示出来?
 
如果是以文件的方式写入的,就可以把字段内容保存为文件,再用OleContainer.loadfromfile,
 
后退
顶部