谷歌对于这类搜索毫无用处,因为你会得到数亿个结果,其中没有一个与特定问题相关。
问题很简单:
- Delphi 中是否可以有类引用属性?
- 如果是这样,怎么办?
这是我尝试过的...
type
TMyObject = class
// ...
end;
TMyObjectClass = class of TMyObject
TMyObjectA = class(TMyObject)
// specifics here
end;
TMyObjectB =class(TMyObject)
// specifics here
end;
TMyComponent = class(TComponent)
private
FObjectType: TMyObjectClass;
published
property ObjectType: TMyObjectClass read FObjectType write FObjectType;
end;
上面的代码编译得很好,但是对象检查器没有显示ObjectType
财产根本。
我在这里的目标(如果您还没有猜到)是这样我可以从特定基类中选择一个类后代,以使相同的组件以不同的方式运行。
我想这样做,以便组件不需要直接了解子类(它需要完全模块化).
让我澄清一下:我无法使用枚举在子类类型之间进行选择,因为组件无法直接链接到子类类型 (在这种特殊情况下这是不可能的)
无论如何...提前致谢!
您可以找到从特定基类派生的所有类:Delphi:在运行时查找从给定基类派生的类? https://stackoverflow.com/questions/3796353/delphi-at-runtime-find-classes-that-descend-from-a-given-base-class并使用以下命令使其成为带有值列表的特殊属性TPropertyEditor
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)