【问题标题】:Array Property, TList, TStringList, or TCollection, etc (Delphi Win32)数组属性、TList、TStringList 或 TCollection 等 (Delphi Win32)
【发布时间】:2023-03-07 19:26:01
【问题描述】:

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

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

【问题讨论】:

    标签: delphi components custom-component


    【解决方案1】:

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

    【讨论】:

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

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

    【讨论】:

      猜你喜欢
      • 2010-09-21
      • 1970-01-01
      • 2014-09-07
      • 1970-01-01
      • 2020-08-08
      • 1970-01-01
      • 1970-01-01
      • 2011-04-12
      • 2011-08-13
      相关资源
      最近更新 更多