PDA

Ver la Versión Completa : Leer datos de un caller id


lbidi
24-09-2021, 21:04:49
Muy buenas a todos.

Tengo que leer el numero de telefono que proviene de un caller ID USB modelo AD101. El mismo viene con una dll donde estan las funciones para leer desde Delphi.

La funcion esta asi definida
function AD101_GetCallerID(nLine:integer;szCallerIDBuffer:PChar;szNmae:pchar;szTime:Pchar):integer;stdcall; external 'AD101Device.DLL' ;
y luego la llamo de esta maneraprocedure llamadaTimer();
var
szCallerID, szName, szTime:pchar;
nLen:integer;
begin
GetMem(szCallerID,128);
GetMem(szName,128);
GetMem(szTime,128);

nLen := AD101_GetCallerID(0,szCallerID,szName,szTime);

end;
Se supone que en nLen retorna la cantidad de caracteres que devuelve y en szCallerId deberia retornar el numero de telefono.

Mi problema es que la demo que trae para Delphi 7 funciona perfectamente pero si este mismo codigo lo uso con XE8 o 10.4, me devuelve caracteres "chinos" asumo.
Creo que puede ser algo de UniCode pero he probado varias opciones de tipos de variables pero no me funciona.

Alguna sugerencia ??

Muchas gracias

Casimiro Notevi
24-09-2021, 21:33:53
¿Se supone que has probado cambiar pchar por pansichar, string por ansistring, etc.?

lbidi
04-10-2021, 03:02:17
Hola Casimiro, recien he podido probar lo que comentas. He cambiado los pchar por pAnsichar y sigue sin retornar valor en nLen.

Seguire investigando aunque no tengo mas documentacion de esa libreria.

Gracias