Samstag, 5. Mai 2007

Unicode Ressource Dateien (*.res) erzeugen

Das Problem begann, als ich unter Delphi 7 verschiedene Sprachen über Ressource Dateien (*.res) per "STRINGTABLE" einbinden wollte, und diese dann bei Bedarf ins Programm reinladen wollte. Da ich unicodefähige Komponenten wie TNT Unicode-Controls (mittlerweile TMS Unicode Component Pack) verwendete, und somit Unicode darstellen konnte, wollte ich die verwendeten Sprachen gleich als Unicode in der Ressource-Datei gespeichert haben. Das Problem ist, dass ich mit den mitgelieferten Komponenten von Delphi 7, wie z. B. mit dem Befehl:

brc32 -r test.rc

keine unicodefähige
Ressource-Datei erzeugen konnte.
Die Lösung des Problems ist der "Ressource Compiler" von
Jeremy Gordon oder auch "GoRC". Was ich auch nicht ganz wusste, war, wie ich chinesische Zeichen in eine *.RC Datei einbetten konnte. Die Antwort fand ich in der MSDN-Dokumentation über "STRINGTABLE".
Eine Ressource-Datei könnte beispielsweise wie folgt aussehen:

STRINGTABLE
BEGIN
1 , L"\x4f60\x597d\x55ce"
2 , "Zeile 2"
END

Aus diesem Beispiel sieht auch, dass Unicode-Zeichendefinitionen mit ANSI-Zeichen gemischt werden können.

P.S.: Ich will nicht ausschließen, dass es unter Umständen mit irgendwelchen Tricks bei Delphi 7 doch irgendwie geht, dass man Unicode Ressource-Dateien erstellt. Ich bin natürlich für Hinweise dankbar.

Keine Kommentare: