gpt4 book ai didi

python - Python可以调用DLL中的Delphi函数吗?

转载 作者:太空狗 更新时间:2023-10-29 20:16:10 25 4
gpt4 key购买 nike

我正在尝试从似乎是在 Delphi 中创建的 DLL 中调用函数。 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 Version:pansichar;var DataLength:integer):integer;stdcall;OziExplorer 的版本在 Version 变量中返回。

现在我该如何传递'var version',因为它也将被返回。

最佳答案

from ctypes import *

# Not strictly needed but it's good to be explicit.
windll.OziAPI.oziDeleteWpByName.argtypes = [POINTER(c_char_p)]
windll.OziAPI.oziDeleteWpByName.restype = c_int

p = c_char_p('test')
retval = windll.OziAPI.oziDeleteWpByName(byref(p))

关于python - Python可以调用DLL中的Delphi函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8790123/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com