Hace tiempo (y la entrada data del 2011) ya hablé sobre
este tema de mezclar ambos tipos de formularios en un proyecto VCL.
Una opción que personalmente no me parece mala es
utilizar packages como forma de separar conceptualmente las 2 plataformas en los proyectos. En esa entrada se explica cómo hacerlo utilizando packages y directamente, tal y como hace ese componente.
En su día se utilizaba la unit
DSharp.Windows.FMXAdapter.pas de
Stefan Glienke que os adjunto a este mensaje.
Lo he probado y sigue funcionando bien, salvo que hay que cambiar este código:
Código Delphi
[-]
PlatformWin.SetWindowRect(FForm, RectF(BorderWidth, BorderWidth,
ClientWidth + BorderWidth, ClientHeight + BorderWidth));
Por este otro, simplemente porque a partir de XE3 el acceso al procedimiento
SetWindowRect hay que hacerlo de forma ligéramente distinta.
Código Delphi
[-]
var
WindowService : IFMXWindowService;
begin
...
WindowService := TPlatformServices.Current.GetPlatformService(IFMXWindowService) as IFMXWindowService;
WindowService.SetWindowRect(FForm, RectF(BorderWidth, BorderWidth,
ClientWidth + BorderWidth, ClientHeight + BorderWidth));
...
Por si alguien quiere hacer las pruebas sin necesidad de instalar nada extra, simplemente añadiendo esta unit al proyecto.