Lazarus Resources/fr

From Free Pascal wiki
Jump to navigationJump to search

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

Tout développeur d'applications win32 devrait connaître les fichiers ressource. Ils contiennent les données qui doivent être compilées dans le fichier exe. Ces données peuvent être des images, des StringList, des version info...

En revanche vous ne pouvez pas utilisez les classiques fichiers ressource (*.res) avec Lazarus car ils sont spécifiques aux plates-formes win32. Dons si vous voulez quand même utiliser vos ressources, il vous faudra les recréer avec lazres. Lazres est un logiciel utilitaire qui est souvent fourni avec Lazarus (par exemple installé avec le paquet Lazarus sous Ubuntu 9.10).

Pour compiler vos ressources en fichiers .lrs vous pouvez par exemple entrer la ligne de commande suivante:

lazres <filename of resource file> <files to include (file1 file2 file3 ...)>

Pour utiliser un fichier ressource lazarus dans vos projets, incluez le fichier avec la directive de compilation $I dans la section initialisation de votre unit.

Vous pouvez accéder aux données dans les ressources avec la method LoadFromLazarusResource de la variable qui doit récupérer son contenu. LoadFromLazarusResource requiert un paramètre string qui indique quel objet doit être chargé dans le fichier ressource.

Exemple avec un icone

procedure exampleproc;
var
  icon: TIcon;
begin
  icon := TIcon.Create;
  icon.LoadFromLazarusResource('myicon');
end;

initialization
  {$I mylazarusresource.lrs}

Ce code inclue le fichier mylazarusresource.lrs dans le projet. Dans la procédure exampleproc un objet icon est créé et chargé à partir de l'objet "icon" du fichier ressource.

Chaque class dérivée de TGraphic contient la procédure LoadFromLazarusResource.

Exemple avec une ressource texte

Si vous avez converti un texte "texte.txt" en ressource "texte.lrs", voici comment vous pouvez le charger dans un TMemo:

Memo1.Lines.Add(lazarusresources.Find('texte').Value); 

Fichier ressource de fiche Lazarus

Lazarus génère des fichiers .lrs à partir de fichiers de fiches .lfm. Mais il ne les génère pas automatiquement si un fichier .lrs manque.

Quand il manque un fichier .lrs, FPC rapporte l'erreur suivante: ERROR: unit1.pas(193,4) Fatal: Can't open include file "unit1.lrs".

Pour arranger ça vous devez utiliser lazres:

Win$ c:\lazarus\tools\lazres.exe unit1.lrs unit1.lfm
Linux lazres unit1.lrs unit1.lfm

Autrement vous pouvez aussi provoquer une modification de la fiche, l'annuler, et la réenregistrer. Cela recrée un fichier .lrs.