Hola,
Metí un tanto la pata... puesto que, si ya no se piensa devolver un tipo "TStrings" con la función, ¿a qué utilizarlo entonces, pudiendo utilizar directamente una cadena? Así tal cual:
Código Delphi
[-]
function getIPs: string;
type
TaPInAddr = array[0..10] of PInAddr;
PaPInAddr = ^TaPInAddr;
var
phe: PHostEnt;
pptr: PaPInAddr;
Buffer: array[0..63] of Char;
I: Integer;
GInitData: TWSAData;
begin
Result := '';
WSAStartup($101, GInitData);
GetHostName(Buffer, SizeOf(Buffer));
phe := GetHostByName(buffer);
if phe = nil then Exit;
pPtr := PaPInAddr(phe^.h_addr_list);
I := 0;
while pPtr^[i] <> nil do
begin
if Result = '' then
Result := (inet_ntoa(pptr^[i]^))
else
Result := ' $$ ' + (inet_ntoa(pptr^[i]^);
Inc(I);
end;
WSACleanup;
end;
Eso que nos ahorramos, ¿no te parece?
