Pessoal, boa tarde.

Estamos com um grande problema. Temos um sistema de controle de acesso que utiliza equipamentos da Telematica. Esta empresa disponibiliza uma dll chamada SmartCard.dll para acesso as informações de crachas. Recebemos um exemplo de utilização desta dll mas esta em Delphi. Ocorre que em delphi em uma terminada função ele efetua a criação desta maneira:

type

TSmartCardRec = record
CodigoMatricula : String[12] ;
TipoFisicoMatricula : String[2] ;
SituacaoMatricula : String[2] ;
VerIntervaloAlmoco : String[1] ;
VerAntiDupla : String[1] ;
BloqueiaPorFalta : String[1] ;
VerPermissao : String[1] ;
.
.
.
QtdeRefeitorioFx6 : String[2] ;
TemplateDigital : Array[0..695] of Char ;
end ;

var
H : THandle ;
R : TSmartCardRec ;


neste mesmo exemplo quando se chama a função que estamos tendo problema no delphi o código fica assim:

var
Load : function( var Card : TSmartCardRec ) : Integer;
begin

if H = 0 then
Exit ;

@Load := GetProcAddress(H, 'Load');

if @Load <> nil then
if Load( R ) <> 0 then
ShowMessage('Erro Load')
else
ShowMessage( R.CodigoMatricula ) ;

end;



---- Bom para tentar fazer esta dll funcionar em nossa aplicação fiz o seguinte

Inseri a DLL em External functionl, criei a função Load
em Return
Number: INT

em Parameters:

structpoint
Receive String: LPSTR
...
...
...
neste ponto declaro todos os 62 Parametros da Função.

------------------------------------------------

Minha pergunta: Qual é a maneira correta de declarar esta dll ?

Alguém da lista utiliza esta dll ?

Por favor precisamos muito concluir esta rotina uma vez que esta tendo sérios impactos no cliente.

espero que possam me ajudar...


 

www.asm.com.br

 

Alessandro Perillo
Analista Desenvolvedor Centura

Asm Futura
Rua Alvares Penteado, 203
Centro - São Paulo

[EMAIL PROTECTED]

tel:
fax:
mobile:

55-11-3526-5221
55-11-3526-5221
55-11-8303-6040

 

Add me to your address book...

Want a signature like this?

 

Responder a