Pythonでは、このCOMオブジェクトを使用したいときは、すべて私が行うのはwin32com.client.Dispatch("Myapp.Thing.1")
で、メソッドなどを呼び出すことができるオブジェクトを与えます。 。C#でレガシーCOMオブジェクトを動的にインスタンス化する(文字列のIDを使用)
私はこれをC#でやってみたいと思いますが、驚くことに、どうやって分かりませんか。私はではありません私が入ることができない理由のためにそれらの自動的に生成されたCOMラッパーの1つを使用したいです。私は時代遅れのバインディング、時代のダイナミックなCOMを行う必要があります。
私はこれを試みましたが、呼び出し呼び出しでNull Ref Exceptionを取得しました。
Type t = Type.GetTypeFromProgID("Myapp.Thing.1")
o = Activator.CreateInstance(t)
t.GetMethod("xyz").Invoke(o, args)
COMオブジェクトを名前でロードして基本的な方法で使用できるサンプルコードは理想的です。
Jasonまず、コードにいくつかのチェックを追加して、tまたはoをnullとして識別できますか?もしそうなら、あなたが私たちに言ったら、それを見始めることができます。 –
私はちょうどその場所にそれらの小切手を頼りにしています。どちらもtもoも戻ってきていません。あなたの助けをありがとう! – William
、そのオブジェクトにメソッドxyzが存在することを確認していますか? –