associação pythonbrasil[11] django zope/plone planet Início Logado como (Entrar)

Diferenças para "ChamarFuncaoEmDlls"

Diferenças entre as versões de 3 e 4
Revisão 3e 2006-01-30 12:27:56
Tamanho: 958
Comentário: Nomes não devem ter acronimos maiúsculos!
Revisão 4e 2006-01-30 12:29:40
Tamanho: 793
Comentário:
Deleções são marcadas assim. Adições são marcadas assim.
Linha 1: Linha 1:
## page was renamed from ChamarFuncaoEmDLL
## page was renamed from ChamarFunçãoEmDll
= Como chamar funções de um DLL no windows. =
Para chamar uma função contida em uma DLL no windows eu utilizei o módulo {{{ctypes}}}, disponível em: http://starship.python.net/crew/theller/ctypes/
Linha 5: Linha 3:
Para chamar uma função contida em uma DLL no windows eu utilizei o
módulo ctypes, disponível em: http://starship.python.net/crew/theller/ctypes/

A utilização é bem simples. Por exemplo, se você tem uma dll
chamada biblioteca.dll, e nesta biblioteca você tem uma função
chamada "funcaoTeste", basta fazer o seguinte para utilizá-la:
A utilização é bem simples. Por exemplo, se você tem uma {{{DLL}}} chamada {{{biblioteca.dll}}}, e nesta biblioteca você tem uma função
chamada {{{funcaoTeste}}}, basta fazer o seguinte para utilizá-la:
Linha 24: Linha 18:
O módulo ctypes também tem outra forma de importar dll's, que é o ctypes.cdll.nomeDaDLL.
No entanto, esta outra forma não funcionou para mim, dava erro no tamanho ou número dos
parâmetros quando eu chamava a função.

João Paulo F Farias.
jpaulofarias@yahoo.com.br
O módulo ctypes também tem outra forma de importar {{{dll}}}'s, que é o {{{ctypes.cdll.nomeDaDLL}}}. No entanto, esta outra forma não funcionou para mim, dava erro no tamanho ou número dos parâmetros quando eu chamava a função.

Para chamar uma função contida em uma DLL no windows eu utilizei o módulo ctypes, disponível em: http://starship.python.net/crew/theller/ctypes/

A utilização é bem simples. Por exemplo, se você tem uma DLL chamada biblioteca.dll, e nesta biblioteca você tem uma função chamada funcaoTeste, basta fazer o seguinte para utilizá-la:

   1 import ctypes
   2 
   3 dll = ctypes.windll.biblioteca
   4 funcaoTeste = dll.funcaoTeste
   5 
   6 res = funcaoTeste(parametro1, parametro2, parametroN)

Muito fácil, não?

O módulo ctypes também tem outra forma de importar dll's, que é o ctypes.cdll.nomeDaDLL. No entanto, esta outra forma não funcionou para mim, dava erro no tamanho ou número dos parâmetros quando eu chamava a função.