我正在研究XE2中的一些组件.是否可能有更多的组件的单位添加到其删除的形式的uses子句中?
例:
当我从我已经构建并安装的包中选择TCustomComponent时,将单元CustomComponent添加到窗体的uses子句中.我也想添加单位GlobalConstants.
有人知道这是否可以完成?
解决方法
为您的组件创建一个设计时间包(如果您还没有),并创建一个实现
ISelectionEditor
接口的类(最简单的方法是从
TSelectionEditor
类派生),并覆盖其虚拟
RequiresUnits()
方法以列出任何您想要显示在组件的uses子句中的其他单位.然后通过调用
RegisterSelectionEditor()
,您的组件的Register()函数注册该类.
Indy 10的TIdTCPServer,TIdCmdTCPClient和TIdUDPServer组件完全是为了确保将IdContext和IdSocketHandle单元添加到using子句中.看看IdCoreSelectionEditors.pas和IdRegisterCore.pas单位,看看Indy如何使用它.