Lazarus Resources/es

From Free Pascal wiki
Revision as of 19:37, 20 February 2010 by Jesusrmx (talk | contribs) (added missing lazres/es spanish example)
Jump to navigationJump to search

Deutsch (de) English (en) español (es) français (fr) 한국어 (ko) русский (ru)

   Todo desarrollador para Win32 debería saber sobre los archivos de recursos. Contienen datos que serán compilados en el archivo EXE. Estos datos pueden consistir en imágenes, tablas de literales, información de versión, ... incluso un manifiesto XP y formularios.

   Ahora bien no podemos utilizar lo habituales archivos de recursos (*. res) en Lazarus, ya que son específicos de win32. Si queremos utilizar los recursos de todos modos, tendremos que volver a crearlos con lazres. Lazres se puede encontrar en el directorio de herramientas de la carpeta de instalación de Lazarus (tal vez antes haya que compilarlo).

   Ahora ya podemos compilar archivos de recursos de Lazarus (*.lrs) desde la línea de ordenes. La sintaxis para lazres es:

lazres <nombre del archivo de recursos> <archivo1 (archivo2 archivo3 ...)>

Por Ejemplo:

lazres mirecursolazarus.lrs un_icono.ico

   Para utilizar un archivo de recursos de Lazarus en tus proyectos incluye el archivo correspondiente con la directiva del compilador $I en la sección de inicio (initialization) de la unidad.

   Puedes acceder a los datos de los recursos con el método LoadFromLazarusResource de los objetos que contendrán los contenidos de los archivos. LoadFromLazarusResource necesita un parámetro de cadena que indica qué objeto debe ser cargado desde el archivo de recursos.

Ejemplo: <delphi> ...

procedure ejemploproc;
var
  icono: TIcon;
begin
  icono := TIcon.Create;
  icono.LoadFromLazarusResource('un_icono');
end;
initialization
  {$I mirecursolazarus.lrs}
...</delphi>

   Mediante {$I mirecursolazarus.lrs} incluimos el archivo mirecursolazarus.lrs en la unidad compilada. En el procedimiento ejemploproc creamos la variable icono de tipo TIcon y cargamos en ella el objeto de nombre "un_icono" del archivo de recursos. El archivo que compiló en el archivo de recursos fue probablemente el de nombre un_icono.ico.

   Todas las clases que se derivan de TGraphic contienen el procedimiento LoadFromLazarusResource.

El archivo de recursos Lazarus del formulario

   Lazarus genera un archivo .lrs del archivo de formulario .lfm. Pero no lo hace de forma automática si no existe el archivo .lrs; en esta situación FPC dará al compilar un mensaje como este: ERROR: unidad001.pas(24,4) Fatal: Can't open include file "unidad001.lrs".


   Para solucionarlo podemos utilizar lazres: (LazarusDir)\tools\lazres unidad001.lrs unidad001.lfm. En linux: ~$ lazres unidad001.lrs unidad001.lfm.

   La forma más sencilla de rehacer un archivo .lrs es realizar un cambio trivial en el dieño del formulario, deshacerlo y guardar el formulario; así no necesitaremos recurrir a lazres. Vincent 09:47, 6 enero 2009 (CET)

Autores y Colaboradores

JayK 21:35, 4 Nov 2005 (CET)
Versión castellana por Iskraelectrica 11 de diciembre de 2009