TWebBrowserのQuit処理でエラー、その原因とエラーを回避するには?


KKK  2007-06-12 19:05:35  No: 26618

TWebBrowserを使ってWordを表示・編集するプログラムを作成しているのですが、フォームを閉じる時にTWebBrowserのQuit処理を行うのですが、
「RPCサーバを利用できません」
をいうエラーが表示されます。
原因としては、プロセスのWORD.EXEが終了しているのかと思いましたが、
タスクマネージャで確認したところWORD.EXEは終了していないのに、上記のようなエラーが発生します。
このエラーの原因と、回避方法を模索しているのですが、どうも行き詰まっています。
何が原因なのでしょうか?

private
 wdapp         : OleVariant;

procedure TFrmMain.FormShow(Sender: TObject);
 wdapp         := CreateOleObject( 'Word.Application' );

procedure TFrmMain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  try
    try
      if not CloseFlg then begin
        //入力補助開放
        with CoKCCMeEditor.Create do
          ParentClose;

        if EditFirstFlg then
          Ole_Edit.DestroyObject;
        if QuoteFirstFlg then
          Ole_Quote.DestroyObject;

          wdapp.Quit;//■←ここでエラー
      end;
      //OLEコンテナのUninitialize呼出
    except
      on E: Exception do
        HCMessageDlg(E.Message, mtError, [mbOk], 0, (Self.Left+(Self.Width div 2)));
    end;
    OleUninit;


エラーメッセージをググるのも案外有用  2007-06-13 02:37:56  No: 26619

みたところサーバとのやりとりでエラーが発生してるもよう。
上記のソースにはOLEオートメーションオブジェクトとTWebBrowserの絡みがまったく記載されていないので断定できないのだが、文書ファイルはネットワーク経由で参照しているのではないか?
そうなるとサーバとの認証で問題が発生するのは納得いくし。

ローカルの文書ファイルを読み込んでみて比較検証するとよろしかろう。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加