En mi experiencia, a pesar del entusiasmo inicial que alguna vez tuve por el ObjectList, en general es una clase con muy pocas ventajas sobre el StringList, ya que la más de las veces requerimos referenciar a los objetos que contiene por algún identificador. La ventaja de un ObjectList, que sería la de su manejo automático de la destrucción de los ojetos, es realmente muy nimia. Una simple rutinita:
Código Delphi
[-]
procedure FreeList(var List: TStringList);
var
I: Integer;
begin
for I := 0 to List.Count -1 do
List[i].Free;
FreeAndNil(List);
end;
Vamos, qué es más cómodo con ObjectList, lo es. Pero muy poco más cómodo, y la enrome ventaja de acceder a los elementos por medio de un identificador sobrepasa con creces lo otro.
// Saludos