Правильные типы данных для загруженной Pascal DLL в Python - PullRequest
0 голосов
/ 15 февраля 2019

Я загружаю pascal dll в Python и хочу выполнить функцию loadIRB, чьи входные и выходные параметры определены следующим образом:

loadIRB

function loadIRB(const fn: PAnsiChar ) : PtrUInt;
  • Параметр: fn (PAnsiChar): Pathname
  • Return: PtrUInt: 0 - ошибка
    else: ссылка на дескриптор файла

Я пробовал следующий код и некоторые модификации, но я абсолютноне знаю, что я делаю неправильно, так как функция всегда возвращает нулевой указатель.Загрузка DLL работает, и AA00.irb - это файл, который я хочу открыть.Может ли кто-нибудь помочь мне с этим?

class RETURN(Structure):
_fields_ = [
            ("return_pt", c_uint),
           ]

dll = windll.LoadLibrary(dll_path)
string1 = "AA00.irb"
b_string1 = string1.encode('ansi')
func = dll.loadIRB
func.argtypes = [c_char_p]
func.restype = POINTER(RETURN)
ret = func(b_string1)
...