GetActiveOleObject - Исключение: операция недоступна - PullRequest
0 голосов
/ 27 января 2012

У меня проблемы с моим Inno Setup, это дает мне исключение Operation Unavailable.

Я даже пытался использовать пример кода CodeAutomation.iss, предоставленного Inno Setup, и он все еще дает мне ту же ошибку Как мне заставить GetActiveOleObject работать? Я что-то упустил?

Это код в примере Inno Setup:

{--- Word ---}

procedure WordButtonOnClick(Sender: TObject);
var
  Word: Variant;
begin
  if MsgBox('Setup will now check whether Microsoft Word is running. Do you want to continue?', mbInformation, mb_YesNo) = idNo then
    Exit;

  { Try to get an active Word COM Automation object }

  try
    //This is where the error occurs.
    Word := GetActiveOleObject('Word.Application'); 
  except
  end;

  if VarIsEmpty(Word) then
    MsgBox('Microsoft Word is not running.', mbInformation, mb_Ok)
  else
    MsgBox('Microsoft Word is running.', mbInformation, mb_Ok)
end;

Спасибо заранее!

1 Ответ

2 голосов
/ 27 января 2012

По сообщениям следующих групп новостей:

http://news.jrsoftware.org/news/innosetup/msg71386.html

http://news.jrsoftware.org/news/innosetup/msg71387.html

Это сделано специально и происходит только при запуске через IDE. Вы получаете сообщение об ошибке при запуске скомпилированной установки? Я только что попробовал код из CodeAutomation.iss на компьютере с Win7 SP1 x64, и он работал правильно.

...