Re: [delphi-br] Traduzindo de VB para Delphi

2008-04-11 Por tôpico Diogo de Oliveira Cunha
Obrigado Rubem.

Vou fazer o teste agora mesmo, espero retornar com boas notícias.

2008/4/10 Rubem Nascimento da Rocha [EMAIL PROTECTED]:



 Nunca vi essa DLL e nunca trabalhei com leitores biométricos, mas pela
 experiência que adquiri traduzindo chamadas de DLLs do VB pra Delphi, tente
 a seguinte declaração:

 function SF_Identify(var EnrollTemplate: DWORD; Count: DWORD; var Match:
 DWORD;
 SecurityLevel: DWORD; bCoreDetect: BOOL; Time: DWORD): DWORD; stdcall;
 external 'SFR300.dll';

 Depois, poste suas impressões (positivas ou negativas) na lista!
 Sds.

 

 To: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 From: [EMAIL PROTECTED] diogo.cunhajf%40gmail.com
 Date: Thu, 10 Apr 2008 14:54:27 -0300
 Subject: [delphi-br] Traduzindo de VB para Delphi


 Amigos boa tarde.

 Estou com o seguinte problema.
 Estou desenvolvendo um software para comunicação com um leitor biométrico
 de
 marca suprema. A maioria das funções já esta implementada e funcionando.
 Porém a função mais importante para a minhã aplicação que a função de
 verificação não esta funcionando a contento.

 Em contato com o suporte a integradores do representante do leitor no
 Brasil, consegui apenas exemplos em VB e C++.

 Estou me baseando na declaração da função em VB:

 Private Declare Function SF_Identify Lib SFR300.dll (ByRef
 EnrollTemplate
 As Long, ByVal Count As Long, ByRef Match As Long, ByVal SecurityLevel As
 Long, ByVal bCoreDetect As Long, ByVal Time As Long) As Long

 que é chamada da seguinte forma:
 SF_Identify(Buffer(0), 10, Match, 3, 0, 0), onde o array buffer contêm
 os
 endereços na memória onde estão armazenadas as digitais.

 e a respectiva declaração em Delphi (não sei se está certa):
 Function SF_Identify(Var EnrollTemplate: Array of PByteArray; Count:
 Longint;Var Match: integer; SecurityLevel: Longint; bCoreDetect: Longint;
 Time: Longint): Longint; stdcall; external 'SFR300.dll';

 e é chamada da seguinte forma:
 SF_Identify(Buffer[0], 10, Pos, 4, 0, 0);, o array buffer tem a mesma a
 mesma que função que acima.

 O problema é que no Delphi a função nunca dá o retorno esperado, neste
 caso,
 retorna sempre 0(zero) o que significa falha na verificação.

 Alguém saberia me dizer se estou declarando a função no delphi de forma
 errada ou passando algum parâmetro de forma incorreta.
 --
 Não te esqueças de que o arado, dilacerando o solo, acaba igualmente
 desmantelado e ferido, entretanto, desse choque de forças surge o pão que
 te
 supre a mesa.

 [As partes desta mensagem que não continham texto foram removidas]

 __
 Receba GRÁTIS as mensagens do Messenger no seu celular quando você estiver
 offline. Conheça o MSN Mobile!
 http://mobile.live.com/signup/signup2.aspx?lc=pt-br
 




-- 
Não te esqueças de que o arado, dilacerando o solo, acaba igualmente
desmantelado e ferido, entretanto, desse choque de forças surge o pão que te
supre a mesa.


[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] Traduzindo de VB para Delphi

2008-04-11 Por tôpico Diogo de Oliveira Cunha
Rubem, muito obrigado por sua ajuda.

Graças a ela consegui resolver o problema. A declaração ficou:

Function SF_Identify(var EnrollTemplate: PDWORD; Count: DWORD; var Match:
DWORD; SecurityLevel: DWORD; bCoreDetect: BOOL; Time: DWORD): DWORD;
stdcall; external 'SFR300.dll';

Obs:
O EnrollTemplate é na verdade um array com os endereços de memória onde se
encontram as digitais.

2008/4/11 Diogo de Oliveira Cunha [EMAIL PROTECTED]:

 Obrigado Rubem.

 Vou fazer o teste agora mesmo, espero retornar com boas notícias.

 2008/4/10 Rubem Nascimento da Rocha [EMAIL PROTECTED]:


 
  Nunca vi essa DLL e nunca trabalhei com leitores biométricos, mas pela
  experiência que adquiri traduzindo chamadas de DLLs do VB pra Delphi, tente
  a seguinte declaração:
 
  function SF_Identify(var EnrollTemplate: DWORD; Count: DWORD; var Match:
  DWORD;
  SecurityLevel: DWORD; bCoreDetect: BOOL; Time: DWORD): DWORD; stdcall;
  external 'SFR300.dll';
 
  Depois, poste suas impressões (positivas ou negativas) na lista!
  Sds.
 
  
 
  To: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
  From: [EMAIL PROTECTED] diogo.cunhajf%40gmail.com
  Date: Thu, 10 Apr 2008 14:54:27 -0300
  Subject: [delphi-br] Traduzindo de VB para Delphi
 
 
  Amigos boa tarde.
 
  Estou com o seguinte problema.
  Estou desenvolvendo um software para comunicação com um leitor
  biométrico de
  marca suprema. A maioria das funções já esta implementada e funcionando.
  Porém a função mais importante para a minhã aplicação que a função de
  verificação não esta funcionando a contento.
 
  Em contato com o suporte a integradores do representante do leitor no
  Brasil, consegui apenas exemplos em VB e C++.
 
  Estou me baseando na declaração da função em VB:
 
  Private Declare Function SF_Identify Lib SFR300.dll (ByRef
  EnrollTemplate
  As Long, ByVal Count As Long, ByRef Match As Long, ByVal SecurityLevel
  As
  Long, ByVal bCoreDetect As Long, ByVal Time As Long) As Long
 
  que é chamada da seguinte forma:
  SF_Identify(Buffer(0), 10, Match, 3, 0, 0), onde o array buffer contêm
  os
  endereços na memória onde estão armazenadas as digitais.
 
  e a respectiva declaração em Delphi (não sei se está certa):
  Function SF_Identify(Var EnrollTemplate: Array of PByteArray; Count:
  Longint;Var Match: integer; SecurityLevel: Longint; bCoreDetect:
  Longint;
  Time: Longint): Longint; stdcall; external 'SFR300.dll';
 
  e é chamada da seguinte forma:
  SF_Identify(Buffer[0], 10, Pos, 4, 0, 0);, o array buffer tem a mesma
  a
  mesma que função que acima.
 
  O problema é que no Delphi a função nunca dá o retorno esperado, neste
  caso,
  retorna sempre 0(zero) o que significa falha na verificação.
 
  Alguém saberia me dizer se estou declarando a função no delphi de forma
  errada ou passando algum parâmetro de forma incorreta.
  --
  Não te esqueças de que o arado, dilacerando o solo, acaba igualmente
  desmantelado e ferido, entretanto, desse choque de forças surge o pão
  que te
  supre a mesa.
 
  [As partes desta mensagem que não continham texto foram removidas]
 
  __
  Receba GRÁTIS as mensagens do Messenger no seu celular quando você
  estiver offline. Conheça o MSN Mobile!
  http://mobile.live.com/signup/signup2.aspx?lc=pt-br
  
 



 --
 Não te esqueças de que o arado, dilacerando o solo, acaba igualmente
 desmantelado e ferido, entretanto, desse choque de forças surge o pão que te
 supre a mesa.




-- 
Não te esqueças de que o arado, dilacerando o solo, acaba igualmente
desmantelado e ferido, entretanto, desse choque de forças surge o pão que te
supre a mesa.


[As partes desta mensagem que não continham texto foram removidas]