2009-02-14 6 views
5

Ich entwickle verschiedene Komponenten und stoße regelmäßig auf die Notwendigkeit, eine Eigenschaft zu haben, die eine "eins-zu-viele" Beziehung hat, Komponente-zu- Eigenschaft-Mitglied. Die Komponenten sind oft visuelle Komponenten, aber nicht immer, und müssen manchmal bei der IDE registriert werden (d. H. Den Eigenschafteninspektor verwenden), aber nicht immer. Ich bin mir unsicher, welchen Weg ich einschlagen sollte, wenn ich diese Eigenschaften einrichte - mit einer Array-Eigenschaft, einer TList, einer TStringList, einer TCollection oder etwas ganz anderem (vielleicht einer neuen Klasse, die von einer dieser Klassen erbt).Array-Eigenschaft, TList, TStringList oder TCollection, usw. (Delphi Win32)

Was sind die "Best Practices"/Richtlinien für wann/wo?

Antwort

11

Wenn es sich um Eigenschaften handelt, können Sie von TCollection absteigen, und dann werden sie vom IDE- und Objektinspektor über den TCollection-Eigenschafteneditor automatisch unterstützt.

+1

Nick, für OI-Unterstützung, ist nicht TOwnedCollection? –

+1

Nein, TCollection ist in Ordnung - –

2

TObjectList und TInterfaceList/IInterfaceList sind meine Favoriten. Und es gibt TThreadList für Thread-sichere Listen. Alle sind in Delphi 6 (oder sogar vorher) verfügbar.

+0

Interessant - danke! – Jamo