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
Código Delphi
[-]function AD101_GetCallerID(nLine:integer;szCallerIDBuffer:PChar;szNmaechar;szTime:Pchar):integer;stdcall; external 'AD101Device.DLL' ;
y luego la llamo de esta manera
Código Delphi
[-]procedure llamadaTimer();
var
szCallerID, szName, szTimechar;
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