Página 1 de 1

Metodo da dll nao encontrado

Enviado: 11 Fev 2010 14:21
por cezarvm
Boa tarde, estou tentando usar o procedimento "daruma_fimfd_geraratocotepepafcoo" e na execução da função mostra a seguinte mensagem:

DllPrepareCall:GetProcAddress() failed!

Nao foi possivel encontrar o procedimento especificado.

mostra essa mensagem em uma caixa igual as mensagens do windows.(no caso não consegui colar aqui)


- ja baixei a dll da daruma
- usei o programa para passar ela para lib (implib).

o que falta fazer?

Desde ja Agradeço.
Cezar Machado.

Re: Metodo da dll nao encontrado

Enviado: 11 Fev 2010 15:57
por DLZ
Cara..
Qdo se trata de chamar uma função de uma DLL tem que respeitar maisucula e minúscula..
Segundo o manual da Daruma.dll, o nome da função é Daruma_FIMFD_GerarAtoCotepePafCoo
Tente chamar assim, acredito que seja isso..

Re: Metodo da dll nao encontrado

Enviado: 12 Fev 2010 02:05
por rochinha
Amiguinho,

Geralmente quando usamos .DLLs en nossas aplicações costumamos usar alguns métodos, acesso ou linkagem e acesso:

Quando a .DLL permite gerar uma .LIB poderemos usar o método de linkagem e acessar suas funcções diretamente.

Quando não é possivel gerar a .LIB mas é possivel acessar a .DLL, ainda assim podemos carregá-la na memória e a partir de comandos extendidos fazer uso de suas funções.

A função LoadLibrary() do Borland C permite carregar as mesmas e ai então fazer uso de comandos extendido e criar as pseudo-funções para acesso as funções reais da .DLL.

Código: Selecionar todos

#include "fivewin.ch"
#include "dll.ch"

#define ACBrDLL "NFWHECF.DLL"

function main()

   public hDLL := LoadLibrary( ACBrDLL )
...
Para o acesso faço uso:

Código: Selecionar todos

DLL32 FUNCTION DefineModelo( cModeloStr AS STRING, cPorta AS STRING, nTimeout AS _INT ) AS BOOL PASCAL FROM "DefineModelo" LIB ACBrDLL
Como dito anteriormente FuncaoComNomeX é direfente de FUNCAOCOMNOMEX portanto respeite estas regras e menos erros acontecem.

Re: Metodo da dll nao encontrado

Enviado: 12 Fev 2010 11:24
por cezarvm
Gente depois de tantos anos enrrolando os chefes, cai nesse erro bobo de caixa das letras, mas a maioria das vezes as soluções nem sempre são as complicadas..."Coo e COO"... Valeu...


Agradeço a atenção de todos.
Cezar Machado.