Delphi 对已定义的类使用TCollection

Delphi 对已定义的类使用TCollection,delphi,interface,custom-component,tcollection,townedcollection,Delphi,Interface,Custom Component,Tcollection,Townedcollection,(注:这有点关系) 我对在Delphi中使用TCollection还不熟悉,现在仍在绞尽脑汁处理一对多类/属性项关系。在探索TCollection和TCollectionItem时,我遇到了几个问题: 1) 是否可以对TForm属性使用TCollection或TOwnedCollection?(还没有尝试过,但我想知道它的内置对象检查器功能是否会导致问题) 2) 如果有人想要使用一些已经在别处定义的类,而这些类不能直接从TCollectionItem派生出来,并使用TCollection(即,有

(注:这有点关系)

我对在Delphi中使用TCollection还不熟悉,现在仍在绞尽脑汁处理一对多类/属性项关系。在探索TCollection和TCollectionItem时,我遇到了几个问题:

1) 是否可以对TForm属性使用TCollection或TOwnedCollection?(还没有尝试过,但我想知道它的内置对象检查器功能是否会导致问题)

2) 如果有人想要使用一些已经在别处定义的类,而这些类不能直接从TCollectionItem派生出来,并使用TCollection(即,有点像“as”一个“TCollectionItem”),那么这可以实现吗?如果是这样的话,这是通过接口实现的吗?。。。或者最好的方法是什么

  • 对于对象检查器,定义属性的组件并不重要。因为TForm是从TComponent派生的,所以它是可能的

  • 最简单的方法是围绕已经定义的其他地方类(我们称它为a)编写一个包装类(我们称它为W)。 X的每个实例都拥有并封装了一个


  • --jeroen

    如果你有两个问题,你应该把它们分成两个独立的问题,除非它们有不可分割的联系。顺便说一句,我认为Nick Hodges在你之前的问题中直接回答了#1:@Argalatyr-注意到的re:2个问题。在我的情况下,他们感觉很有关联,但我可以看出人们可能会有不同的想法,并注意到这一告诫

    re:#1,Nick的回答涉及到了TCollection(这也是我探索该选项的主要原因),但我不确定TForms的设计时、对象检查器方面是否与其他组件不同。杰罗恩回答了下面的问题。