AnsweredAssumed Answered

ActiveXオートメーションでの不可解な現象

Question asked by nagnag on Jun 21, 2017
Latest reply on Jun 29, 2017 by nagnag

お世話になります。

外部システムとの連携目的で、VBScriptでActiveXオートメーションを使っております。

  • 外部システムからIDを引数としてVBScriptを実行し、FileMakerで指定IDのレコードを表示する、といった振る舞いです。
  • FMP12の頃に構築した仕組みで、現在はFMP15でも動作させています。
  • データベースはFMS14で共有しているため、VBSから開くのはローカルの連携用DBファイルで、外部データソースでサーバ上のDBを指定してサーバDBのスクリプトを呼び出すようにしています。
  • VBSでは、CreateObject("FMPRO.Application")でFMPのインスタンスを取得しており、FMPが起動されているかどうかにかかわらず、正しく動作しておりました。

 

ところが、最近になって、以下のような不可解な現象が発生するようになりました。
特定の端末のみで発生し、Win8.1+FMP12、Win10+FMP15(64)の2つの環境で発生を確認しています。

(開発環境では再現できておらず、検証はユーザ環境のみのため、なかなか捗っておりません)

  • FMPが起動されていない状態でVBSによる連携を動作させると、FMPが起動された上で正常な期待した動作となり、以降、何度連携を繰り返しても正常に動作する(連携によって起動されたFMPだと何度連携を繰り返しても正常動作)。
  • ところが、FMPを手動で起動した状態でVBSによる連携を動作させると、VBS上のCreateObject("FMPRO.Application")のステップで「起動センター」(FMP12の場合はクイックスタート)が表示され、ユーザの操作待ちのような状態で止まってしまう。
    しかし、そのまま15秒ほど放置すると、(タイムアウトしたかのように)次のステップに進む。
    次のステップではエラー判定を行っており、CreateObjectでErr.Number=429(オブジェクトを作成できない)のエラーが発生。

 

上記の「FMPを手動で起動」の場合の現象(起動センター表示で止まり、そのあげく、エラーとなる)について、情報をお持ちの方はいらっしゃいませんか?

Outcomes