Я получаю эту ошибку, когда пытаюсь вызвать эту функцию, записанную в Delphi. Но другой код работает нормально. Может быть, я не объявляю args и типы результатов? Я использую 32Bit python 3.7). Соответствующие фрагменты кода:
Delphi:
Test(deposit, MarginCall: double; CallBack: TProgrCallBackProc); stdcall;
Python:
self.FTCore = ctypes.WinDLL(self.FTCore_library_path)
self.FTCore.Test.argtypes = [ctypes.POINTER(ctypes.c_double), ctypes.POINTER(ctypes.c_double)]
self.FTCore.Test.restype = ctypes.POINTER(ctypes.c_char)
deposit = ctypes.c_double(100)
callback = ctypes.c_double(1)
self.FTCore.Test(deposit, callback)
Ошибка:
violation reading 0x00000004