Esta que te pongo es la que sirve:
Código Delphi
[-]
function getIPs: Tstrings;
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
WSAStartup($101, GInitData);
Result := TstringList.Create;
Result.Clear;
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
Result.Add(inet_ntoa(pptr^[i]^));
Inc(I);
end;
WSACleanup;
end;
De momento me devuelve una ip solo
Muchas gracias por cambiarme la funcion.
Tengo varias de este tipo y las tendre que cambiar.
Ya he cogido la forma de trabajar con el TString que es para variables de matriz por eso se representa en un TMemo o en un TList.
De ahi el haberte mandado ayer un correo con esta misma funcion para si podias hacerme un pequeño ejemplo del objeto rectangulo.
Con esta misma funcion original que el resultado lo da en un TMemo.
David muchas gracias y perdona por hacerte perder un poco el tiempo.