2009-02-14 10 views
5

Je développe divers composants et je rencontre régulièrement le besoin d'avoir une propriété qui a une relation «un-à-plusieurs», composante-à- membre-propriété. Les composants sont souvent des composants visuels, mais pas toujours, et doivent parfois être enregistrés auprès de l'IDE (c'est-à-dire en utilisant l'inspecteur des propriétés), mais pas toujours. Je ne suis pas sûr de la route à suivre lors de la configuration de ces propriétés - en utilisant une propriété array, une TList, une TStringList, une TCollection ou autre chose (peut-être une nouvelle classe qui hérite de l'une de ces propriétés). Quelles sont les «meilleures pratiques»/directives à utiliser quand et où?Propriété Array, TList, TStringList ou TCollection, etc (Delphi Win32)

Répondre

11

S'il s'agit de propriétés, vous pouvez descendre de TCollection, puis l'IDE et l'inspecteur d'objets leur fourniront automatiquement un support via l'éditeur de propriété TCollection.

+1

Nick, pour le support OI, n'est pas TOwnedCollection? –

+1

Non, TCollection est très bien - –

2

TObjectList et TInterfaceList/IInterfaceList sont mes favoris. Et il y a TThreadList pour les listes thread-safe. Tous sont disponibles en Delphi 6 (ou même avant).

+0

Intéressant - merci! – Jamo