Creo que el error es bastante explicito.
Cita:
Types of actual and formal parameters must be identical
|
Y es que la estas llamando con un parámetro que no es del tipo adecuado. Cuando el compilador puede hacer una conversión "segura" de tipos, lo hará por vos, pero eso no pasa en el caso de los punteros y en el caso de las variables por referencia (var).
Si la función es:
Código:
function RasEnumEntries (
reserved: PChar; {reserved, must be NULL}
lpszPhonebook: PChar ; { pointer to full path and filename of phonebook file}
lprasentryname: PRASENTRYNAME ; {buffer to receive phonebook entries}
var lpcb : DWORD; {size in bytes of buffer}
var lpcEntries : DWORD {number of entries written to buffer}
) : DWORD; stdcall;
para llamarla debes tener algo como:
Código:
Var
PhoneBookName : String;
Buffer : PRASENTRYNAME;
SizeInBytes : DWord;
Entries : DWord;
Resultado : DWord;
Begin
// primero incializas las variables y el buffer...
Resultado := RasEnumEntries(
pchar(nil), pchar(PhoneBookName),
Buffer, SizeInBytes, Entries);
End;
Chequea tus tipos y seguro alli encontras el error.
Hasta luego.