サーバーにメッセージを送信するcomクライアントを作成しようとしています。私はoleビューア定義を持っており、Pythonで構造(クラス)を作成しました。これは、より多くの構造と列挙型を持つ複雑な構造を構築するために使用されます。
すべてが順調に進んでいるようですが、SampleObject *をクライアント呼び出しに渡そうとすると、次のエラーが発生します。
ctypes.ArgumentError: argument 1: <type 'exceptions.TypeError'>:
expected LP__SampleObject instance instead of LP__SampleObject
これはかなり奇妙に思えます。私がしていることは次のようなものです(これは私がエラーを得るところです):
dialog = _SampleObject('hello', struct1, 'hi_there', struct2, 1, struct3, 1, 1, 1, 'me', 'you', 'him')
obj.COM_function( pointer(dialog) )
私は多くのことを試みましたが、そのエラーを回避することはできません。何か案は ?
(objは単なるcc.CreateObject()コクラスオブジェクトであり、問題なく機能します)
私は本当に問題を見ることができません、comtype定義でさえインターフェースにそれを表示します:
( ['in'], POINTER(_SampleObject), 'pAction' ),
これはpointer(dialog)と完全に一致します。これは非常に奇妙なエラーですが、comtypesである可能性がありますか?