Originariamente inviato da colde
ora ElencoIp è di tipo TStringList ma il problema non cambia e ho sempre access violation.
Quando c'è un Access Violation, al 99,9% si tratta di un oggetto non creato.

Come recita la guida
Call ReadSectionValues to read the keys, and the values from all keys, within a specified section of an INI file into a string list object (TStrings descendant).

Laddove viene richiesto un oggetto, è necessario passare - appunto - un oggetto.

Un oggetto è per definizione l'istanza di una classe, che va quindi creata per poter essere utilizzata (altrimenti non si tratta di un oggetto, ma di un riferimento non inizializzato o non valido che genera poi l'Access Violation).

Devi creare quindi un'istanza di TStringList per poterla passare alla funzione ReadSectionValues.

codice:
ElencoIp := TStringList.Create;
try
  ConfigFile.ReadSectionValues('NomeSezione', ElencoIp);
finally
  ElencoIp.Free;
end;
Ciao!