0

次の方法で COM オブジェクトを使用しようとしています。

Dim l
l = CreateObject("tst.Ax")
Dim err As Long
Dim st As ULong

Try

   l.AX_hdr(st, err)

   Catch ex As Exception
   MsgBox(ex.Message)
End Try

そして、私はエラーがあります

TYPE_E_ELEMENTNOTFOUND

この COM オブジェクトは初期化中にコードを実行するため (メッセージ ボックスを表示)、CreateObject は正しく機能します。オブジェクトにはメソッド AX_hdr が必要ですが、なぜ見つからないのかわかりません。他に何が間違っている可能性がありますか?COM オブジェクトから関数リストを取得する方法はありますか?

4

1 に答える 1

2

COM コンポーネントへの参照を追加すると、事前バインディングを使用してオブジェクトをインスタンス化できます。

Dim l as new tst.Ax

その後、コンポーネントのすべてのメソッドとプロパティに対して IntelliSense を使用するか、F2 キーを押してオブジェクト ブラウザを使用して検索を実行できます。

必要に応じていつでも参照を後で削除できますが、通常は事前バインディングが望ましいです。他のオプションを使用するかどうかに十分な理由がある場合にのみ、遅延バインディングを使用します。

于 2012-08-10T14:00:42.437 に答える