PDA

Ver la Versión Completa : datos de un array por medio de una dll


TrUnkS
20-04-2012, 17:25:00
Hola amigos del Club:

Tengo la siguiente estructura:



BTplDataStruct = record
Template : Array[1..5500] of byte;
end;
pBTplDataStruct = ^BTplDataStruct; // puntero a la estructura



Y el siguiente arreglo:



name : array[1..16] of byte;



Tengo una dll que permite ingresar datos de los campos provenientes de un sensor biométrico (huella digital) a la estructura, hasta ahi todo bien. Hay otra función de la dll que permite rescatar el valor del campo name de la estructura. Lo que quiero es almacenar el valor del campo que me retorna en el arreglo pero tengo problemas para declarar la función y llamarla en Delphi ya que está hecha en C#. La sintaxis es:


BII_UR_Get_Name(const unsigned char *UR,unsigned char *name)



Parameters:

*UR [IN] A pointer to the Usr Record (estructura)
*name [OUT] value of name field

return value : 1 (returns template name successfully)

en Delphi lo hice así pero no se si esta bién:


TBII_UR_Get_Name = function(const UR:PChar;var name:PByteArray):integer;stdcall;


y no no se como llamarla o si esta bien declarada respecto a la original. Me podrían dar una mano por favor, gracias de antemano.

escafandra
20-04-2012, 18:35:30
Trata de esta manera:

Declararla:

TBII_UR_Get_Name = function(const UR:PChar; name: PChar):integer; stdcall;


Para llamarla:
var
name: array[1..16] of char;
begin
......
TBII_UR_Get_Name(Usr, @name[0]);

Saludos.