miércoles, 23 de diciembre de 2009

Los formularios de Lazarus(FPC) son mas compatibles que nunca con Delphi.

Empezando con la version 2.5.1 de FPC, lazarus and FPC permiten almacenar los formularios en el formato LFM sin la necesidad de los MOLESTOS archivos LRS.

Este cambio permite migrar facilmente un formulario Delphi a Lazarus.

Prereqs:

Versión trunk de Lazarus.
Versión trunk de FPC. (Los he testeado con la versión 2.5.1, desconozco cual es la versión mínima de FPC requerida).

Los pasos son:

1) Ir a Opciones de Proyecto, tab miscelaneos y seleccionar recursos FPC.

2) Copiar el archivo dfm a uno con extensión lfm.

3) Abrir el archivo extensión pas relacionado en lazarus.

4) Buscar la referencia en el código al archivo dfm y reemplazar por el siguiente código

{$IFDEF LCL}
{$R *.lfm}
{$ELSE}
{$R *.dfm}
{$ENDIF}

5) Buscar la sentencia que incluye el archivo *.lrs en la sección de inicialización de la unidad y removerla.

6) HIT F12 (para ver el archivo lfm).

7) Es posible ignorar las advertencias sobre propiedades inexistentes, o no presentes en lazarus. Sin embargo esto es verdad para la mayoria de los casos. Como usted es un programador serio revisara cada mensaje para evaluar la importancia o no del mismo, verdad? ;)

Guardar.

8) Build. Listo!

Como siempre, no olvide agregar las unidades necesarias a la clausula uses. Me refiero a LclType, LResources,etc).

Enjoy!

1 comentario:

german.tejero dijo...

Tres comentarios:
1.- La unidad LResources es necesaria si usas archivos .lrs. Con lo cual si pasas a archivos .lfm deja de ser necesaria.
2.- La version minima de FPC es la 2.4.0.
3.- Se podria llegar a utilizar los archivos .dfm directos de Delphi (Siempre y cuando alojes en ellos definiciones de instancias de componentes que sean comunes a la LCL y la VCL). FPC ya esta preparado para esto, quien no esta preparado aun es la LCL y Lazarus.