問題タブ [python-bindings]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - NoneType 引数またはコールバック関数を ctypes の関数に渡すにはどうすればよいですか
私は C/C++ ライブラリを中心とした非常に単純な Python バインディングを書き始めましたが、許可がないため、法的な理由からここで共有することはできません。
これにはコールバックとしてWINFUNCTYPE()が含まれており、Pythonでコールバックとして使用する関数を装飾するために使用でき、バインドしている関数のargtypesで定義されています。
コードでは次のようになります。
私はそれをこのように使うことができます
これは問題なく、問題なく期待どおりに動作します。
問題は、次のようなことをすると発生します。
次のエラーが表示されます。
その理由は完全に明らかです。ctypes は、NoneType ではなく 2 番目の引数として WINFUNCTYPE() が表示されることを期待していますが、使用している SDK のドキュメントには、コールバックを NULL として設定することが可能であると記載されています。しかし、それを修正する方法がわからないだけで、オンラインまたは ctypes ドキュメントで何かを見つけるのに苦労しています。
C/C++ ライブラリをバインドしようとしたのはこれが初めてなので、明らかな見落としがあればご容赦ください。誰かが私がこれを解決するのを手伝ってくれるなら、私は本当に素晴らしいでしょう.