Hola santiago14.
Correcto, una instancia de
TStrings no es propietaria de los objetos asociados, por lo que es tu tarea liberar la memoria ocupada. Si bien lo podes realizar directamente sobre el combobox, por motivos de reusabilidad tal vez te convenga hacerte una función que lo haga para cualquier componente que utilice
TStrings.
Código Delphi
[-]
...
procedure FreeObjects(TS: TStrings);
var
i: Integer;
begin
TS.Clear;
for i := TS.Count-1 downto 0 do
begin
TS.Objects[i].Free;
TS.Objects[i] := nil
end;
end;
Ejemplo de uso:
Código Delphi
[-]
procedure TForm1.FormDestroy(Sender: TObject);
begin
FreeObjects(ComboBox1.Items);
FreeObjects(ListBox1.Items);
FreeObjects(Memo1.Lines);
end;
Saludos