2015-01-21 2 views
1

아래 코드를 작성하여 dll.i와 통신 할 수 있습니다.이 DLL을 등록했습니다.Python DLL 함수가 없습니다.

from ctypes import cdll 
# give location of dll 
mydll = cdll.LoadLibrary("C:\Windows\SysWOW64\zkemkeeper.dll") 
ip = "172.16.16.70" 
port = "4370" 
mydll.Connect_Net(ip,port)  

나는 그것을 실행할 때 다음과 같은 오류가 발생합니다.

Traceback (most recent call last): 
    File "C:\Python34\fetch.py", line 6, in <module> 
    mydll.Connect_Net(ip,port) 
    File "C:\Python34\lib\ctypes\__init__.py", line 364, in __getattr__ 
    func = self.__getitem__(name) 
    File "C:\Python34\lib\ctypes\__init__.py", line 369, in __getitem__ 
    func = self._FuncPtr((name_or_ordinal, self)) 
AttributeError: function 'Connect_Net' not found  

또한 나는이 DLL과 통신 할 수 있어요 및 PHP.Can 누군가가 나에게 문제와 그 해결 방법이 될 수 있는지 알려 사용하여 기능에 액세스 할 수 있습니다.

답변

0
AttributeError: function 'Connect_Net' not found  

즉, DLL은 'Connect_Net'이라는 함수를 내 보내지 않습니다. 아마도 이름이 잘못되었거나 DLL이 함수를 어떻게 든 내 보내지 못했습니다.

일부 다른 의견 :

  • 백 슬래시 이스케이프 문자를 사용하여이 도전장을 실행 중입니다. 역 슬래시를 피하거나 원시 문자열 리터럴을 사용하거나 os.path.join을 사용하십시오.
  • 시스템 디렉토리를 수정하지 마십시오. DLL을 다른 위치에 두어야합니다.
+0

를, 또한 그것은 더없는 시스템에서 DLL을 복사하는 날 디렉토리는 dll을 시스템 디렉토리에 복사하는 하드웨어 (생체 인식) 시스템 제공자입니다. –

+0

'Connect_Net'과'connect_net'은 다른 이름입니다. 존경심으로는 내 대답에 나타나는 것 외에 다른 설명이 없습니다. –

1

것은이 파이썬 조각보십시오 :이 기능은 PHP가 액세스 connect_net 기능과 통신 할 수있는 방법에 비해 DLL에 존재하지 않는 경우

from win32com.client import Dispatch 
zk = Dispatch("zkemkeeper.ZKEM") 
ip = "172.16.16.70" 
port = "4370" 
zk.Connect_Net(IP_address, port) 
+0

이 질문에 대한 이유를 설명해야합니다. –

+0

그는 SDK를 사용하여 ZK 터미널에 연결하려고합니다. –

관련 문제