[gelöst] Wie erstellt der FPC Ressourcen-Dateien?

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
Socke
Lazarusforum e. V.
Beiträge: 3178
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

[gelöst] Wie erstellt der FPC Ressourcen-Dateien?

Beitrag von Socke »

Hallo,
wie ihr alle wisst, kann man ja mittlerweile auch Windows-Ressourcen mit dem FPC verwenden.
Mir stellt sich aber gerade die Frage, wie übersetze ich meine .rc-Scripte in Binär-Ressourcen unter Linux, wo ich kein windres von irgendwoher habe.
Ich habs mit den windres-Versionen für arm-wince-pe und i568-mingw32msvc aus den Debian-Paketen versucht, beides Mal mit der Meldung, dass meine Ressource (Name) nicht gefunden werden konnte.
In meiner FPC-Installtion habe ich nur ein fpcres gefunden, das - soweit ich das getestet habe - nur Lazarus-Formulare (.lfm) schluckt und .res-Dateien ausgibt.

Jetzt frage ich mich natürlich: Wie schafft es der FPC (oder vielleicht auch Lazarus?), die Ressourcen-Scripte mit den Versionsinformationen zu kompilieren? fpcres schluckt dieses nämlich auch nicht.
Zuletzt geändert von Socke am So 26. Sep 2010, 23:17, insgesamt 1-mal geändert.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Socke
Lazarusforum e. V.
Beiträge: 3178
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Wie erstellt der FPC Ressourcen-Dateien?

Beitrag von Socke »

In der vergangen Zeit, habe ich mir die Antwort selber gesucht und gefunden. Also für alle, die es interessiert:
Socke hat geschrieben:Jetzt frage ich mich natürlich: Wie schafft es der FPC (oder vielleicht auch Lazarus?), die Ressourcen-Scripte mit den Versionsinformationen zu kompilieren? fpcres schluckt dieses nämlich auch nicht.
Es gibt verschiedene Klassen, die das Lesen (abgeleitet von TAbstractResourceReader) und Schreiben (abgeleitet von TAbstractResourceWriter) von bestimmten Ressource-Typen implementieren (die Units findet man unter $FPCDIR/packages/fcl-res/src/). So gibt es beispielweise Reader für Delphi-/Lazarus-Formulare, Versionsinformationen und ein paar Binärformate (ELF, COFF, RES, usw). Entsprechend gibt es für die Binärformate entsprechende Schreib-Klassen.
Für Bilder (die ich gebraucht habe) gibt es aber keine Lese-Klasse, zumal es auch schwer werden dürfte aus einem Datenstrom einen Ressourcen-Namen zu erstellen. Okay, man die Ressourcen einfach durchnummerieren, aber dann weiß man nicht, was man überhaupt laden muss.

Daher hab ich mir gute 300 Zeilen zusammen gedichtet, die ein einfaches RC-Skript liest und als ELF ausspuckt. Wer Interesse daran hat, schaut in den Anhang.
Dateianhänge
resgen.tar.gz
Ein einfaches Programm zum Übersetzen von RC-Skripten in ELF-Ressource-Dateien.
(113.32 KiB) 73-mal heruntergeladen
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Antworten