【发布时间】:2016-12-08 14:19:12
【问题描述】:
我在使用 Delhpi 10 Seattle 时遇到了一个有趣的功能。在 Firedac 中,特别是 TFDConnection 组件中,Params 属性具有一些巫术魔法,可以动态显示和隐藏 IDE 中的属性,具体取决于另一个特定属性的值。 (我不知道自从我刚开始使用 Firedac 以来它已经可用了多久)。当您更改 TFDConnection.Params 中的 DriverID 属性时,Params 中的其余属性会显示在 IDE 对象检查器中,以便能够指定特定于驱动程序的属性。
现在我研究了它是如何工作的,它是一堆接口定义,源自IFDStanDefinition。我不知道它是如何在 IDE 中实际执行的,除了 TStringList 涉及使用名称/值对功能。
我很想在我自己的组件中实现相同的功能,特别是TCollectionItem 有一个属性ActionType,它是一个枚举类型。我想根据为该属性选择的值动态显示/隐藏属性。
如何在我自己的组件的集合项中实现在 IDE 对象检查器中显示/隐藏属性的相同功能?
在旁注中,恐怕部分答案是它需要所有字符串值,根据您如何通过代码与此 Params 属性进行交互来判断。
【问题讨论】:
标签: delphi properties ide components delphi-10-seattle