我用Delphi写了一个调用Word的程序,
起头需要使用GetActiveOleObject判断系统中是否已经启动了Word。
但是当系统中没有启动Word的时候,调用时就会出现“非法调用”的错误!
在Delphi的随机帮助中是这样解释的:
function GetActiveOleObject(const ClassName: string): IDispatch;
这个函数的返回类型是IDispatch,是个接口类型;
那么如何判断是否返回了一个有效的值呢?
起头需要使用GetActiveOleObject判断系统中是否已经启动了Word。
但是当系统中没有启动Word的时候,调用时就会出现“非法调用”的错误!
在Delphi的随机帮助中是这样解释的:
function GetActiveOleObject(const ClassName: string): IDispatch;
这个函数的返回类型是IDispatch,是个接口类型;
那么如何判断是否返回了一个有效的值呢?
myexcel := GetActiveOleObject('Word Application');//
begin
try
MWord:=GetActiveOleObject('Word.Application');
except
...
ShowMessage('Word don't running!');
...
end;
end;
begin
try
Result:=Getactiveoleobject('word.application');
except
try
Result:=createoleobject('word.application');
except
messagedlg('word may not be installed', mterror, [mbok], 0);
abort;
end;
end;
end;