Mejor respuesta escafandra , 13 febrero 2017 - 10:22
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.
Ir al mensaje completo