当我将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'))的调用已经产生了错误。