6

我正在做一些组件,我想让它们兼容 VCL 和 FMX。所以我有一个遵循这种模式的结构:

General_dpk(使用 TCustomMyClass)+ VCL_dpk(使用 TMyClass)+ FMX_dpk(使用 TMyClassFMX)

每个包都有注册其组件的注册程序。在组件面板中出现两个组件(VCL 和 FMX)。如何像其他 Delphi 组件一样仅根据所选项目类型(VCL 或 FMX)显示组件?

谢谢

4

2 回答 2

6

好吧,经过长时间的搜索,我在 Embarcadero 论坛上问过了。在那里,雷米友善地告诉我答案(当你知道时很容易)。问题是您需要像这样将 GroupDescendentsWith 函数调用到注册过程中

// para componentes VCL
GroupDescendentsWith(TMyClass, Vcl.Controls.TControl);

// para componentes FMX
GroupDescendentsWith(TMyClassFMX, Fmx.Types.TControl);

Embarcadero 论坛的答案在这里

于 2013-01-07T08:39:00.983 回答
0

您可以在此答案的注册过程代码中使用:Delphi XE2:是否有预定义的条件来识别 VCL 和 FireMonkey?检查它是 Firemonkey 还是 VCL 应用程序。

于 2013-01-02T12:13:33.713 回答