Lo nuevo de FireMonkey en XE7

Hola amigos

Vamos a ver en varias entradas los cambios que se han hecho con el lanzamiento de RAD Studio XE7 pero específicamente los cambios hechos a FireMonkey.

En XE6 se tenía que elegir entre tres tipos de aplicaciones FireMonkey, aplicaciones de escritorio, Aplicaciones Metrópolis y aplicaciones móviles como lo podemos observar en el IDE de XE6.

En RAD Studio XE7 se ha creado una sóla opción donde se puede elegir tanto aplicaciones de escritorio como aplicaciones móviles, de hecho permite la creación de todas las plataformas soportadas, a ésta nueva forma de crear aplicaciones se le ha llamado «Multi-Device Aplication»  y otra donde podemos crear aplicaciones Metrópolis.

Ésta característica Multi-Device está soportada en dos de las tres grandes bibliotecas de RAD StudioFireMonkey y la RTL, la VCL no está soportada en ésta característica.

Personalmente me ha gustado mucho la nueva forma de acceder a las aplicaciones FireMonkey con la Multi-Device com lo podemos ver en las siguientes imágenes.

Como podemos ver, contamos con las 4 grandes plataformas Windows, OSX, iOS y Android y dentro de ellas podemos destacar la gran variedad de dispositivos incluyendo Google Glass.

Lo dicho, me gusta mucho ésta nueva versión de RAD Studio que cuenta con muchas mejoras y muchas cosas nuevas que iremos viendo poco a poco.

Nos leemos 🙂


Ésta entrada y cualquier código fuente publicado en ésta bitácora, son libres para su uso y publicación, lo único que te pido, si te parece justo, es mencionar la fuente de donde se obtuvo.

Migrando y probando RAD Studio XE7

Que tal amigos

A mediados de ésta semana  que está por terminar,  descargué e instalé RAD Studio XE7 y al comenzar la migración de una de las aplicaciones que he desarrollado en Delphi XE6 a Delphi XE7, me encontré con un pequeño detalle al ejecutar la app en mi teléfono móvil.

Como preámbulo les comentaré que el programa consume un Servicio Web para obtener el Tipo de Cambio de diversas monedas (Exchange Rate) el cual funcionaba perfectamente en XE6, pero con XE7 me encontré con un error desconocido para mí hasta el momento,

No Selected DOM Vendor

Me puse a investigar porqué  en Delphi XE7 me mostraba dicho error y en Delphi XE6 no, en poco tiempo encontré la solución en la Wiki de Embarcadero.

El tema es porque RAD Studio utiliza de forma predeterminada el proveedor MSXML, y si no se especifíca otro proveedor (OmniXML o AEDOM) nuestras aplicaciones no soportarán otras plataformas mas que Windows y nos mostrará el error que da pie a ésta entrada «No Selected DOM Vendor».

Si requerimos de utilizar otras plataformas el proveedor OmniXML es la mejor opción (por cierto es una de las nuevas características en ésta versión en el rubro de «mejoramiento de la RTL y la VCL», como se puede ver en la lista de nuevas características).

Para resolver el problema de multi plataforma de mis aplicaciones usé la siguiente compilación condicionada:

 
uses
// …
{$IFDEF MSWINDOWS}
    Xml.Win.msxmldom
{$ELSE}
    Xml.omnixmldom
{$ENDIF};

Con ésta compilación condicionada le indicamos que cuando sea una aplicación para la plataforma Windows utilice el proveedor MSXML y si es otra plataforma utilice el proveedor OmniXML.

Con éste cambio, mi aplicación funcionó sin problemas y ya puedo continuar con mi proyecto.

Hasta la próxima