Griaule Biometrics

Home » Forums » FINGERPRINT SDK » Delphi Specific » Inicilização e Finalização não funciona em sequencia
4 replies [Last post]
mj_duar
Offline
Joined: 2008-10-20
Rate this post:
0
No votes yet
Inicilização e Finalização não funciona em sequencia

Eu tenho um código que funciona perfeitamente na versão 4.2 e na 2007 não funciona mais. Criei um applicativo que demonstra o problema.

Ambiente:

Delphi 2007, GrFinger SDK 2007, Microsoft Fingerprint Reader

Descrição do Problema:

1. Carrega dinamicamente a grfinger.dll,
2. GrInitialize
3. GrCapInitialize
4. GrFinalize
5. GrCapFinalize
6. Libera a DLL

Na primeira vez, funciona perfeitamente. A partir da segunda vez, não funciona mais (a luz do leitor fica apagada após iniciliar a captura). Se sai do programa e entra outra vez, ele passa a funcionar.

Lembrando que este código funcionava na versão 4.2

TIA,
Anderson

mj_duar
Offline
Joined: 2008-10-20
Rate this post:
0
No votes yet

Consegui fazer funcionar, mas não da maneira como funcionava antes. O problema está relacionado com o carregamento dinâmico da dll. Quando eu não libero a dll através do FreeLibrary(FHandleDLL)) tudo funciona normalmente.

Desta forma, estou carregando quando o applicativo executa pela primeira vez e não descarregando mais. Foge um pouco das "regras" da boa programação, mas está funcionando. Gostaria que o pessoal do suporte identificasse a causa do problema para que eu possa voltar a descarregar a dll asim que ela não for mais necessária (no caso, no destroy do componente)

Só para explicar, eu tenho que carregar dinamicamente porque só instalo as dlls da griaule para os clientes que adquirem a licença. Então eu verifico se existe a dll e faço a carga.

Att,
Anderson Franco

ptrckph
Offline
Joined: 2008-09-23
Rate this post:
0
No votes yet

andersonfranco, eu executei o programa que você havia me mandado e como eu disse no e-mail aqui não apareceu nenhum problema.

Pelo que me parece, tem arquivos sobrando na sua máquina , remanescentes da instalação do 4.2, isso é bem evidente pela confusão no carregamento das dlls. Você já tentou fazer uma busca pelo grfinger.dll, grfingerx.dll, cappluginfingercap.dll e deletar as versões antigas?

demolao
Offline
Joined: 2008-10-23
Rate this post:
0
No votes yet

Griaule Support Team wrote:
andersonfranco, eu executei o programa que você havia me mandado e como eu disse no e-mail aqui não apareceu nenhum problema.

Pelo que me parece, tem arquivos sobrando na sua máquina , remanescentes da instalação do 4.2, isso é bem evidente pela confusão no carregamento das dlls. Você já tentou fazer uma busca pelo grfinger.dll, grfingerx.dll, cappluginfingercap.dll e deletar as versões antigas?

Estou tendo o mesmo problema, a iniciaização do leitor esta sendo feito na tela de funcionarios, se fecho a tela, e reabro em seguida, aparentemente funciona, mas se tento fazer um leitura, buuuuuuummmmmmmm acesso violation..no meu caso, ja instalei de cara a ver 6.0, Delphi 7

demolao
Offline
Joined: 2008-10-23
Rate this post:
0
No votes yet

consegui resolver/contornar um problema parecido, da uma olhada no topicoq postei, talvez ajude...

http://forum.griaulebiometrics.com/viewtopic.php?t=4757