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)
5
A
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.
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
Nick, pour le support OI, n'est pas TOwnedCollection? –
Non, TCollection est très bien - –