Array Property, TList, TStringList o TCollection, etc.(Delphi Win32)
components custom-component (2)
Estoy desarrollando varios componentes y regularmente encuentro la necesidad de tener una propiedad que tenga una relación "uno a muchos", miembro de componente a propiedad. Los componentes a menudo son componentes visuales, pero no siempre, y algunas veces deben registrarse con el IDE (es decir, usar el inspector de propiedades), pero no siempre. No estoy seguro de qué ruta tomar al configurar estas propiedades, usando una propiedad de matriz, un TList, una TStringList, una TCollection o algo completamente diferente (tal vez una nueva clase que herede de una de ellas).
¿Cuáles son las "mejores prácticas" / pautas para usar cuándo / dónde?
Si son propiedades, puede descender desde TCollection, y luego el IDE y el Inspector de objetos proporcionarán soporte automáticamente a través del editor de Propiedades TCollection.
TObjectList y TInterfaceList / IInterfaceList son mis favoritos. Y está TThreadList para listas seguras para subprocesos. Todos ellos están disponibles en Delphi 6 (o incluso antes).