[comp.windows.ms.programmer] Multiple uses of the RC on an EXE file.

fenster@SHUM.HUJI.AC.IL (11/05/90)

I am developing an application with many windows and dialog boxes.
The different dialog boxes are spread around quite a few files,
so that I can use the same names (ID_NAME,ID_DATE,...) in different windows.
The problem is that I can't use the RC to load more than one .RES file into the
.EXE file.
Is there any way around this ?
At the moment I have a .RC file which does #include to all of the windows and
I need to spread around quite a lot of #ifndef/#undef/#endif to prevent errors.

Anyone have any idea ?

 Thanx

  Yaacov

marc@metapyr.UUCP ( The Karate Kid ) (11/05/90)

In article <442@shum.huji.ac.il> fenster@shum.huji.ac.il () writes:
>
>I am developing an application with many windows and dialog boxes.
>The different dialog boxes are spread around quite a few files,
>so that I can use the same names (ID_NAME,ID_DATE,...) in different windows.
>The problem is that I can't use the RC to load more than one .RES file into the
>.EXE file.
>Is there any way around this ?
>At the moment I have a .RC file which does #include to all of the windows and
>I need to spread around quite a lot of #ifndef/#undef/#endif to prevent errors.
>
>Anyone have any idea ?
>
> Thanx
>
>  Yaacov




(stupid mailer)




An RC file is a binanry file that is placed into the .EXE file.  This binary
file is also built using a 16 byte boundry (I think).  This makes is possible
binary copy RC files back to back.  We ran into this problem when our string
tables grew to large for RC to compile.  We broke the tables into seperate .RC
files and then complied each seperately.  You then use copy with the /b option
to build the final RES file.


You're welcome,
Marc
-------------------------------------------------------------------------------
"tired and shagged out from a prolonged squawk" - mpfc the parrot sketch

davidds@microsoft.UUCP (David D'SOUZA) (11/07/90)

In article <119@metapyr.UUCP> marc@metapyr.UUCP (Marc Paige - The Karate Kid ) writes:
>In article <442@shum.huji.ac.il> fenster@shum.huji.ac.il () writes:
>>
>>The problem is that I can't use the RC to load more than one .RES file into the
>>.EXE file.
>>Is there any way around this ?
>
>binary copy RC files back to back.  We ran into this problem when our string
>tables grew to large for RC to compile.  We broke the tables into seperate .RC
>files and then complied each seperately.  You then use copy with the /b option
>to build the final RES file.

This is a bogus thing to do in general. In Win 2 this may have worked but
in Win3 the result is a bogus exe file.  The suggested method is to

#include "foo.rc"

in your main rc file. Then the 3.0 rc will generate one big res file.

Win 2 rc had some size limitations which were removed in Win 3.



--Dave

marc@metapyr.UUCP ( The Karate Kid ) (11/08/90)

( text about breaking up a large RC file and using copy /b to make final RC)

>This is a bogus thing to do in general. In Win 2 this may have worked but
>in Win3 the result is a bogus exe file.  The suggested method is to
>
>#include "foo.rc"
>
>in your main rc file. Then the 3.0 rc will generate one big res file.
>
>Win 2 rc had some size limitations which were removed in Win 3.
>
>
>
>--Dave






Well Dave...

The limitations may have been up'ed but not removed.  I hoped that that was
the case when I ported our product to win30.  We were a part of the beta
program.  I tried to use a single RC file with each upgrade of the beta disks.
Each time it failed with a memory message.  Each time I used multiple .res
files copied after each other to a final .res file which was then put into
the .exe file with rc.exe.  It still works, the product works, no problems.
We took all strings out of the code and put them into string tables.  Using
the rcinclude does not help if your tables just get to large.  rc.exe will
still have to choke down the tmp file that has the full tables and whatever
else.  What do you mean by bogus .exe file?  Does that mean that it won't run?
Does it mean that exehdr.exe won't report on it?  Our product runs, and
exehdr.exe reports correctly.  That seems to me that the .exe is not bogus
dosen't it?  Try again Microsoft.  RC.EXE still has limitations.





------------------------------------------------------------------------------
"tired and shagged out from a prolonged squawk" - mpfc the parrot sketch