Delphi 5组件会自动将“db.pas”单元添加到uses子句中吗?
我正在编写自己的组件,我希望它将“db”单元添加到接口使用子句时,我将其放在表单上,??因为它有一个已发布的事件,如:
TMyDBEvent = procedure(Sender: TObject; DataSet: TDataSet) of object; TDataSet在db.pas中声明,我需要手动添加此单元,我想避免. 我见过这个解决方案: How are Delphi units automatically added when a component is added to a form? 还有这个: Can I make a custom Delphi component add multiple units to the uses clause? 那使用RegisterSelectionEditor,但是Delphi 5(我知道……)似乎没有这个单元. 我有什么选择? 解决方法
您可以使用相同的名称为组件单元中的类型添加别名:
type TDataSet = Db.TDataSet; 无论何时将组件放在表单上,??Delphi都应将其单元添加到uses子句中.然后,无论你是否以该形式使用Db,都有一个与Db相当的有效TDataSet.
从语言的角度来看,没有. 一般来说,当2个代码(有时甚至在同一个单元中)看起来使用相同的类型时,具有相同名称的类型会导致问题是不明智的,但它们实际上是内部不同的类型.但是,在这种情况下,类型实际上是相同的. 从IDE的角度来看,并不多. >一个小问题是IDE中的“查找声明”需要额外的步骤才能达到基础类型.
我不知道使用该技术的任何组件.但是我在很多场合出于各种原因使用了混叠.主要是为了避免强制客户端单元的连锁依赖. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |