Best Answer escafandra , 13 February 2017 - 10:22 AM
Desde que Delphi adoptó el UNICODE no ha hecho otra cosa que liar las cosas y confundir los tipos.
El compilador pasa a interpretar PCHAR como PWCHAR. y lo que debe ser un verdadero PCHAR debe explicitarse como PAnsiCHAR.
El código que muestras pasaría a ser así para compilar en Berlin, por ejemplo.
function GetIp(Host: string): string; var WSAData: TWSADATA; HostEnt: phostent; begin Result:= ''; if WSAStartup(MAKEWORD(1, 1), WSADATA) = 0 then begin HostEnt:= gethostbyname(PAnsiChar(AnsiString(Host))); if HostEnt <> nil then Result:= inet_ntoa(PInAddr(HostEnt.h_addr_list^)^); WSACleanup; end; end;
Saludos.
Go to the full post