我在使用Delhpi 10 Seattle时遇到了一个有趣的功能。在Firedac中,特别是TFDConnection
组件,Params
属性具有一些巫术魔法,可以动态显示和隐藏IDE中的属性,具体取决于另一个特定属性的值。 (自从我刚开始使用Firedac以来,我不知道这种情况有多长时间)。当更改TFDConnection.Params
中的DriverID
属性时,Params
中的其余属性显示在IDE对象检查器中,以便能够指定驱动程序特定的属性。动态显示/隐藏IDE对象检查器中的属性?
现在我已经研究了它是如何工作的,它是一组接口定义,根源于IFDStanDefinition
。我无法弄清楚它是如何在IDE中执行此操作的,除了涉及使用名称/值对功能的TStringList
。
我很想来实现同样的事情在我自己的组件,尤其是TCollectionItem
有一个属性ActionType
这是一个枚举类型。我想动态显示/隐藏属性取决于为该属性选择了什么值。
如何才能完成在我自己的组件集合项中的IDE对象检查器中显示/隐藏属性的相同功能?
在附注中,恐怕部分答案是它期望所有字符串值,这取决于您如何通过代码与此Params
属性进行交互。
在这个问题上的任何进展?我无法测试任何东西,因为我正在用平板电脑度假(我现在只能阅读旧版FireDAC的源代码)。你能报告一些反馈吗?上面的代码应该很容易地注册为一个组件来尝试... – Victoria