数组属性、TList、TStringList 或 TCollection 等 (Delphi Win32)

Posted

技术标签:

【中文标题】数组属性、TList、TStringList 或 TCollection 等 (Delphi Win32)【英文标题】:Array Property, TList, TStringList, or TCollection, etc (Delphi Win32) 【发布时间】:2010-10-07 14:35:00 【问题描述】:

我正在开发各种组件,并且经常遇到需要具有“一对多”关系的属性,即组件到属性成员。组件通常是可视组件,但并非总是如此,有时需要在 IDE 中注册(即使用 Property Inspector),但并非总是如此。我发现自己不确定在设置这些属性时应该采取哪条路线——使用数组属性、TList、TStringList、TCollection 或其他东西(可能是从其中一个继承的新类)。

什么时候/在哪里使用的“最佳实践”/指南是什么?

【问题讨论】:

【参考方案1】:

如果它们是属性,则可以从 TCollection 继承,然后 IDE 和 Object Inspector 将通过 TCollection 属性编辑器自动为它们提供支持。

【讨论】:

Nick,为了支持 OI,不是 TOwnedCollection 吗? 不,TCollection 很好 --【参考方案2】:

TObjectList 和 TInterfaceList / IInterfaceList 是我的最爱。还有用于线程安全列表的 TThreadList。所有这些都在 Delphi 6(甚至更早版本)中可用。

【讨论】:

以上是关于数组属性、TList、TStringList 或 TCollection 等 (Delphi Win32)的主要内容,如果未能解决你的问题,请参考以下文章

TStringList 常用方法与属性

TStringList 常用操作

delphi TStringList 用法详解

delphi TStringList 用法详解

Delphi - TStringList 用法详解

Delphi TStringList的用法