请问:有关Olecontainer的createObjectFromInfo问题。(300分)

  • 主题发起人 主题发起人 age
  • 开始时间 开始时间
A

age

Unregistered / Unconfirmed
GUEST, unregistred user!
请看以下代码:
var
_word: Olevariant;
document: IUnknown;
dataObject: IDataObject;
info: TCreateInfo;
begin
_word := createOleObject( 'Word.Application' );
_word.visible:=true;
//no. 1
document := _word.documents.open( 'e:/t.doc' );
//no. 2
//document := _word.documents.add ;

document:=_word.activedocument;
dataobject:=document as IdataObject;
ZeroMemory (@info, SizeOf (TCreateInfo));
info.createType := ctFromData;
info.showAsIcon := false;
info.iconMetaPict := 0;
info.dataObject := dataObject;
oleContainer1.createObjectFromInfo( info );
_word.quit;
end;

问题是:采用no.1程序正常运行,采用no.2程序执行到oleContainer1.createObjectFromInfo( info )时出错“服务器出现意外情况”而此时的WORD已经正常打开。
请各路人马帮助。谢。
 
我试了下,不知怎么回事,看来要给点耐心。。。
 
关 注,邦顶
 
_word.documents.add是新建空文件吧!可能是这个原因吧!
oleContainer1如何让其自动进入编辑状态哪?,我的每次都要鼠标左键双基或者
右键进入
 
OleContainer.DoVerb(OleContainer.PrimaryVerb );
 
to:age
我的跟你稍有不同
var
worddoc:olevariant;
v:olevariant;
begin
OleContainer1.CreateObjectFromFile('d:/temp/temp.doc',false);
OleContainer1.DoVerb(OleContainer1.PrimaryVerb );
worddoc:=OleContainer1.OleObject;
v:=worddoc.Application;
//v.Insert('hhhhhh'); ---这两行报错“不支持此方法”,为什么?????
//v.FileSaveAs('d:/temp/temp.doc');
end;
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
618
import
I
I
回复
0
查看
345
import
I
后退
顶部