在用OPENDIALOG打开文件时,怎么在OLECONTAINER中显示出来(100分)

  • 主题发起人 主题发起人 小小鸟2001
  • 开始时间 开始时间

小小鸟2001

Unregistered / Unconfirmed
GUEST, unregistred user!
在用OPENDIALOG打开文件时,怎么在OLECONTAINER中显示出来,我的代码如下
var olestream :TStream;
f :TFileStream;
begin
NotDetail.Visible :=true;
NotDetail.PageIndex :=3;
if OpenDialog.Execute then
begin
try
f :=TfileStream.Create(OpenDialog.FileName,fmOpenReadWrite);

OpenDialog.Files.SaveToStream(f);
// OleFileName := OpenDialog.FileName;
f.Position := 0;
OleContainer.LoadFromStream(f);
Show;
except
Release; // free form on error
raise; // re-raise exception
end;
end;
结果导致DOWN机,为什么?
 
在OleContainer.LoadFromStream(f);之前应用
OleContainer1.CreateObject创建ole对象
 
try
V := CreateOleObject ('word.Application')
except
begin
V.Quit;
V:=Unassigned;
exit;
end
end;
//open doc file
caption:='正在打开文件('+strallfilename+')';
try
V.Documents.Open (strallfilename);
except
On EOleException Do
begin
m_MsgStr := '不能打开文件' + strallfilename;
showmessage(m_MsgStr);
V.Selection.Documents.close (0);
V.Quit(wddonotsavechanges);
V:=Unassigned;
exit;
end;
end;

不知道看的懂吗/
 
后退
顶部