Otro pasito más para Xailer 2.0

Antes que nada, desearos a todos un prospero año nuevo y daros las gracias por la confianza depositada en Xailer que esperamos continúe en el futuro.

Volvemos a la carga con una nueva actualización del futuro Xailer 2.0 con importantes novedades que seguro van a ser de vuestro agrado. Pero lo que más me gustaría resaltar de esta nueva versión que publicamos es que es completamente funcional y segura. Os recomendamos sin duda a que empecéis a utilizarla en vuestros propios proyectos.

En cuanto empecéis a utilizar la capacidad de compilación en modo multiproceso os aseguro que no volveréis a usar la versión 1.9 ya que los tiempos de compilación y enlazado se reducen a menos de la cuarta parte en el caso de ordenadores con cuatro nucleos. Para más información sobre esta nueva característica consultar el siguiente artículo en este mismo blog: Compilar en modo ‘turbo’

En esta nueva actualización se incluyen importantes novedades (aparte de un montón de pequeñas mejoras) como:

  • Creación de DLLs
  • creación de ejecutable final con compresión del mismo
  • Actualización de propiedades comunes de múltiples controles en una sola operación
  • Encriptación de bases de datos de SQLite
  • Conversión de ficheros RTF a HTML
  • Importación de proyectos

Esta nueva versión incorpora la posibilidad de realizar DLLs de pcode que por supuesto también pueden incluir cualquier tipo de recurso. Este tipo de DLLs sólo pueden ser ejecutadas desde un programa escrito con Xailer ya que la máquina virtual no se encuentra en la DLL sino en el propio ejecutable. Este es el primer paso necesario para conseguir algo que muchos de vosotros habéis demandado como son los controles de terceros, la personalización de cualquier control nativo del IDE y la creación de asistentes.

Además de estas nuevas funcionalidades que pretendemos incluir en el IDE de Xailer a corto plazo, la creación de DLLs puede ser muy útil en vuestros propios proyectos ya que os permitirá que, por ejemplo, cada módulo importante de vuestra aplicación se encuentre en una DLL, y por lo tanto cuando haya cualquier modificación o mejora de dicho módulo, sólo haya que suministrar la correspondiente DLL al cliente, cuyo tamaño es siempre muy inferior al ejecutable ya que sólo incluye el pcode.

No hemos tenido tiempo de hacer un ejemplo de utilización de las DLLs, pero esperamos poder publicarlo en breve y tampoco hemos podido hacer toda la batería de pruebas que nos hubiese gustado por lo que si alguno de vosotros se anima a utilizarlas contáis con toda nuestra colaboración ya que es una prioridad para nosotros que está nueva prestación funcione de forma correcta.

Con la nueva versión que publicamos, la utilización del depurador se hace mucho más intuitiva y rápida, ya que el botón de compilar incluye un menú en el cual se puede realizar la compilación de sólo los módulos necesarios, la compilación completa del proyecto, la creación del ejecutable final y una opción de menú adicional que permite habilitar o deshabilitar el depurador, mostrándose un pequeño ‘bug’ en la imagen del botón cuando el depurador está habilitado. Os recordamos que desde la primera entrega de Xailer 2 está disponible la generación de módulos compilados diferenciados con y sin información de depuración, de esta forma, cada vez que cambiemos la forma de compilación, no será necesario recompilar el proyecto completo.

La nueva opción de ‘Ejecutable final’ permite realizar de una forma sencilla la creación del ejecutable que realmente va a entrar en producción, es decir, el ejecutable que va a ser utilizado por el usuario final. Para ello el programa muestra un pequeño diálogo inicial en el que se permite modificar la información de versión del ejecutable, a continuación pulsando el botón de ‘siguiente’ el programa nos pedirá las opciones que deseamos realizar:

  • Compilar el proyecto completo
  • Comprimir el ejecutable con UPX
  • Realizar el instalable

La primera opción nos permite indicar si sólo se deben compilar los módulos que realmente requieren su compilación o por el contrario se han de compilar todos los módulos del proyecto. De forma automática se deshabilita el depurador durante este proceso ya que no tiene sentido que el usuario final utilice una versión del programa que incluya información de depuración.

La opción de comprimir el ejecutable con UPX permite reducir el tamaño del ejecutable de forma considerable sin perder ninguna velocidad. Esta opción es muy recomendable, sobre todo si los ejecutables se van a instalar en un disco de red, ya que en dicho caso los tiempos de carga del mismo son mayores y por lo tanto si reducimos su tamaño dicho tiempo de carga será menor. Es posible indicar algún parámetro para dicho proceso. Por defecto, incluye un parámetro necesario para no comprimir la sección de exportación, que sólo es necesario en el caso de que se utilice ‘Advantage Database server’. Consultar la documentación de UPX (directorio Xailerbin) para más información.

La tercera opción permite ejecutar un instalador cuando el proceso de creación del ejecutable final haya terminado. Para ello se incluye un control de edición que permite ejecutar nuestro instalador preferido, no siendo necesario poner la ruta completa del ejecutable sino tan sólo el nombre del fichero a abrir ya que el propio IDE se encarga de encontrar el programa asociado a la extensión de dicho archivo. En este control de edición es posible utilizar una serie de macros como directorio del proyecto, nombre del proyecto (sin extensión), directorio del ejecutable final y nombre del ejecutable (sin extensión).

Os recomendamos, sin duda alguna, la utilización del producto gratuito InnoSetup en conjunción con ISTool para la creación de vuestros instalables. El propio instalador de Xailer está construido con estas herramientas.

Otra de las grandes novedades de esta actualización, que ha sido igualmente muy demandada, es la posibilidad de manejar con el inspector de objetos más de un control a la vez. En versiones anteriores cuando se seleccionaba más de un control, el inspector de objetos mostraba las propiedades del último control seleccionado, y si cambiamos cualquier propiedad del mismo, tan sólo se modificaban las propiedades de dicho control. A partir de ahora cuando se seleccionan más de un control, en el inspector de objetos se muestra el conjunto de propiedades comunes a todos los controles. En el caso de que no todos los controles tengan los mismos valores en cada una de sus propiedades el valor de dicha propiedad aparecerá en blanco. Lógicamente si cambia el valor de cualquier propiedad, todos los controles seleccionados reflejaran el cambio. Lo mismo se aplica también a los eventos.

Una de las pocas limitaciones que tiene el motor de bases de datos SQLite en su versión gratuita es la imposibilidad de guardar la información de forma encriptada. Esta limitación se convierte en un handicap importante en la actualidad debido a las leyes restrictivas existentes sobre protección de datos. Existen versiones de pago de SQLite que incluyen dicha funcionalidad pero o son muy caras o exigen la compra del software por cada instalación que se realice. Por dichos motivos decidimos incorporar nuestro propio sistema de encriptación al motor de bases de datos SQLite de forma que se pueda utilizar sin tener que pagar royalty alguno y ya es actualmente completamente operativo, pudiendo encriptar o desencriptar cualquier base de datos con una simple llamada a una función. La velocidad del motor SQLite con tablas encriptadas no sufre ninguna ralentización. En nuestras pruebas las diferencias eran prácticamente nulas. También hemos modificado el administrador de bases de datos SQLite que incorpora el IDE para que soporte bases de datos encriptadas.

De la mano de Pedro Gil nos llega una importante novedad para los que utilizáis el control TRichEdit y es la posibilidad de convertir fichero RTF en HTML así como la conversión de ficheros en formato DOCX que es el nuevo formato de Word para versiones de Office 2007.

Actualmente estamos trabajando duro en áreas como:

  • Intellisense
  • Gestión de múltiples proyectos
  • Soporte de ‘Data modules’
  • ‘Undo’ en el diseñador de formularios
  • Mejoras en el copiado y pegado de controles
  • Generador de informes que está muy avanzado

La próxima actualización de Xailer 2.0 se publicará como producto comercial como Xailer 2.0 pre-release, abandonando definitivamente la venta de Xailer 1.9, aunque lógicamente seguiremos ofreciendo soporte de dicha versión. Pero os animamos a todos al cambio, como no podría ser de otra forma 😉

Podéis descargar la nueva versión desde el siguiente enlace:

http://www.xailer.com/files/xailer20beta.exe

Requiere nueva versión de xHarbour que podéis descargar desde la siguiente dirección:

http://www.xailer.com/files/xharboursetup2.exe

Os recordamos que está versión de Xailer sólo está disponible para usuarios con suscripción activa. Leer el artículo Novedades de Xailer 2.0 para más información.

Un cordial saludo,

[El equipo de Xailer]