views:

629

answers:

3

I remember reading an article or post somewhere years ago that suggested including a resource file in a project by referencing the .rc file instead of an already compiled .res file so that the resource is built as part of the project's build process.

I have a glyphs.rc file that I currently compile using the command brcc32 glyphs.rc. In my project file I then have the statement {$R Glyphs.res}.

I'd like to simplify this by changing it to something like {$R Glyphs.rc} but am unsure of the syntax. When I try using {$R Glyphs.rc} I get an error [DCC Error] E2161 Error: RLINK32: Unsupported 16bit resource in file "Glyphs.rc". Is this approach possible with Delphi 2007?

+2  A: 

See an example here: "How do I make a PNG resource?".

TOndrej
+5  A: 

Just add the rc file to your project via the "Project > Add to project" menu item. This creates the {$R 'myres.res' 'myres.rc'} line from the posting that TOndrej links to.

Ulrich Gerhardt
+2  A: 

The linker can only handle res files, but you can direct the compiler to invoke the resource compiler and compile an rc script to produce a res file and link that, using a variation of the $R/$RESOURCE directive.

In your case, you should need only change:

 {$r glyphs.res}

to

 {$r glyphs.res glyphs.rc}

NOTE: You do still need to identify a res file, the difference is in being able to additionally identify the rc file to be compiled in order to produce the required res file in the first place.

Deltics