无法使用python 3.3+的ctypes访问.dll

时间:2015-01-03 14:40:28

标签: memory ctypes

当我将python 3.2安装升级到3.3+时,我偶然发现了一个问题。我现在正在寻找一个解决方案,但找不到任何东西。

我使用.dll来使用使用Delphi实现的连字算法。 .dll正在使用版本3.3以下的所有python版本。当我尝试使用python 3.3+

访问它时

我收到以下错误:

File "C:\Python34\lib\ctypes\__init__.py", line 351, in __init__
self._handle = _dlopen(self._name, mode)
OSError: [WinError 998] Invalid access to memory location

我这样称呼dll

hyph = windll.syllable

hyphenInput = 'testen'

#Set the input parameter
input_string = c_wchar_p(hyphenInput)     
ShowDividing = c_bool(True)
ShowRootVowels = c_bool(True)
Sprechsilben = c_bool(True)
PrefixAsMorpheme = c_bool(False)

exception = c_wchar_p('')

hyph.DivideOnSyllables.restype = c_wchar_p
hyphenation = hyph.DivideOnSyllables(input_string, ShowDividing, ShowRootVowels, Sprechsilben, PrefixAsMorpheme, exception)

希望有人可以帮助我。

提前谢谢你。

编辑1:

我从别人那里得到了DLL。我得到的标题信息,如下所示:

function DivideOnSyllables(Input: PWideChar;
     ShowDividing,ShowRootVowels,
     Sprechsilben,PrefixAsMorpheme: Boolean;
     Exceptions: PWideChar): PWideChar;

编辑2:

似乎打开DLL(WinDLL('syllable'))的调用已经产生了错误。

0 个答案:

没有答案