【发布时间】:2015-06-19 00:23:29
【问题描述】:
我需要安装两个不同的组件包,第一个使用BDE连接,第二个使用FireDAC连接,它们都包含一个名为“TKsAnalExpr”的组件,它包含在一个名为“UAnalExpr”的单元中。
我正确安装了其中一个包,但是当我尝试安装第二个包时,Delphi 显示以下错误消息:
注册过程,包C:\Entorno Delphi XE3\BPL\Kactus.bpl中的Kactus@UAnalExpr.Register引发异常类EFilerError: 组件TKsAnalExpr不能被包kactus.bpl注册,因为它已经被包注册KactusOP.bpl
我使用命名空间更改了单元的名称,例如分别在 PkgeBDE.UAnalExpr 和 PkgeFireD.UAnalExpr 中。
但是当我再次尝试安装第二个包时,它显示了与上面相同的错误消息。
我正在使用 XE3 Upd 1 和 FireDAC 8.0.5。
PD:如果有人想知道,“AnalExpr”代表“Analizador de Expresiones”。呵呵。
【问题讨论】:
-
提示:不要,只是不要使用“Anal”代替 os Analise、Analisis 或类似的东西。
-
您重新设计您的类,使 TKsAnalExpr 有一个名为 Engine 的属性,当您将它放到表单上时,您将 Engine 属性连接到 TKsBdeEngine 或 TKsFireDACEngine。你有没有注意到,例如,有一个 TDataSource 类,以及可以连接到 TDataSource 的大量 TDataset?同样的想法。
标签: delphi package components vcl bpl