Jer*_*dge 5 ide delphi components properties delphi-10-seattle
我在使用Delhpi 10 Seattle时遇到了一个有趣的功能.在Firedac中,特别是一个TFDConnection组件,该Params属性具有一些巫术魔法,可以动态显示和隐藏IDE中的属性,具体取决于另一个特定属性的值.(我不知道自从我刚开始使用Firedac以来已经有多长时间了).更改DriverID属性时TFDConnection.Params,ParamsIDE Object Inspector中显示的其余属性可以指定特定于驱动程序的属性.
现在我已经研究了它是如何工作的,它是一堆接口定义,源于IFDStanDefinition.我无法弄清楚它是如何在IDE中实际执行此操作的,除了TStringList涉及使用名称/值对功能之外.
我希望在我自己的组件中实现相同的东西,特别是TCollectionItem有一个属性ActionType是Enum类型.我想动态显示/隐藏属性,具体取决于为该属性选择的值.
如何在我自己的组件集合项中的IDE Object Inspector中实现显示/隐藏属性的相同功能?
另外,我担心答案的一部分是它需要所有字符串值,根据您Params通过代码与此属性进行交互的方式来判断.
编写属性编辑器并在GetAttributes返回时包含paVolatileSubProperties属性。剩下的就是释放旧的子属性实例,并替换为新的子属性实例(但它们可以是任何TPersistent类的后代,因此它不依赖于字符串列表类)。
| 归档时间: |
|
| 查看次数: |
402 次 |
| 最近记录: |