创建与VCL和FMX兼容的新组件

时间:2013-01-02 12:03:01

标签: delphi

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

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

每个包都有注册其组件的注册程序。在组件面板中出现两个组件(VCL和FMX)。怎么做才会出现与所选项目类型(VCL或FMX)类似的其他Delphi组件的组件?

由于

2 个答案:

答案 0 :(得分:4)

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

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

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

Embarcadero论坛上的答案here

答案 1 :(得分:0)

您可以在此答案中使用注册程序代码:Delphi XE2: Is there a predefined conditional to identify VCL and FireMonkey?来检查它是Firemonkey还是VCL应用程序。