私はDelphiで作成されたようなDLLから関数を呼び出そうとしています。 DLLでサポートされているいくつかの機能の例は以下のとおりです。私は上記の機能にアクセスするために書かれているPythonがDelphiをDLLで呼び出すことはできますか?
function oziDeleteWpByName(var name:pansichar):integer;stdcall
Pythonのコードが機能していません。
from ctypes import *
libc = cdll.OziAPI
name ='test'
pi = pointer(name)
delname = libc.oziDeleteWpByName
delname(name)
私は間違ったデータ型を関数に渡しているようです。どのようにそれを正しく行うための任意のアイデアですか?
ありがとうございました。今度はこの関数を使って助けてください:
関数oziGetOziVersion(varバージョン:pansichar; var DataLength:整数):整数; stdcall; バージョン変数にOziExplorerのバージョンが戻されます。
返されるものがある場合、どうすれば 'var version'を渡すのですか?
'var name:pansichar'は、' name'パラメータを変更して呼び出し側に返すことを意味します。関数は実際にそれをしますか?関数が返った後に 'name'の内容を読むつもりですか? –
また、どのバージョンのPythonを使用していますか?文字列のエンコーディングに違いを生むことができます。 –
ええ、 'var'宣言は怪しいです。あなた1138さんがそのDLLを書いたのですが、どうしてですか? –