【发布时间】:2012-12-16 19:12:45
【问题描述】:
我正在做一些组件,我想让它们兼容 VCL 和 FMX。所以我有一个遵循这种模式的结构:
General_dpk(带有 TCustomMyClass)+ VCL_dpk(带有 TMyClass)+ FMX_dpk(带有 TMyClassFMX)
每个包都有注册其组件的注册程序。在组件面板中出现两个组件(VCL 和 FMX)。如何像其他 Delphi 组件一样仅根据所选项目类型(VCL 或 FMX)显示组件?
谢谢
【问题讨论】:
-
你有什么样的组件?视觉还是非视觉?
-
@Sir Rufo 他们是非视觉组件
-
非可视组件与 VCL 或 FMX 无关。为什么要分开?你觉得 TADOConnection 在 VCL 和 FMX 上有什么不同吗?
-
@Sir Rufo 这个组件有一些依赖于框架的属性(比如颜色)(在 VCL 中是 TColor,在 FMX 中是 TAlphaColor)和/或需要一些依赖于框架的库(比如对话框)
-
@Cadetill 如果您的组件正在引用颜色和对话框,那么您的组件并不是真正的非可视组件。考虑重构这些引用或将其分离为运行时和设计时包。
标签: delphi