Variedade de propriedades, TList, TStringList, ou TCollection, etc (Delphi Win32)
-
23-08-2019 - |
Pergunta
Estou desenvolvendo vários componentes, e regularmente correr para a necessidade de ter uma propriedade que tem um relacionamento "um-para-muitos", propriedade-membro componente para. Os componentes são muitas vezes componentes visuais, mas nem sempre, e às vezes precisa ser registrado com o IDE (ou seja, usar o Inspetor de propriedades), mas nem sempre. Encontro-me inseguro de qual caminho a tomar quando configurar essas propriedades - usando uma propriedade de matriz, um TList, um TStringList, um TCollection, ou algo completamente diferente (talvez uma nova classe que herda de um daqueles)
O que são as "melhores práticas" / orientações para qual usar quando / onde?
Solução
Se eles são propriedades, você pode descer do TCollection, e então o IDE e Objeto Inspector irá fornecer automaticamente suporte para eles através do editor TCollection propriedade.
Outras dicas
TObjectList e TInterfaceList / IInterfaceList são os meus favoritos. E há TThreadList para listas de thread-safe. Todos eles estão disponíveis em Delphi 6 (ou mesmo antes).