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

cad*_*ill 5 delphi

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

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

每个软件包都有其注册过程,用于注册其组件。在组件面板中会同时出现两个组件(VCL和FMX)。怎么做才能像其他Delphi组件那样仅根据所选项目的类型(VCL或FMX)显示组件?

谢谢

cad*_*ill 5

好吧,经过长时间的搜索,我在Embarcadero论坛上提出了要求。在那里,雷米(Remy)很好地对我说了答案(当您知道时很容易)。事实是,您需要像这样在注册过程中调用GroupDescendentsWith函数

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

// para componentes FMX
GroupDescendentsWith(TMyClassFMX, Fmx.Types.TControl);
Run Code Online (Sandbox Code Playgroud)

此处在Embarcadero论坛上的答案