In addition to the other replies... Whatever method you choose - resource-only DLL, resource includes, etc., the most important thing is to manage IDs so they don't clash. For example, I personally have a solution with several EXEs that share an MFC extension DLL, and also share common code that is compiled/linked directly into several EXEs. From the start, I set aside blocks of resource IDs for each - one block for the shared DLL, one for common code, and one for EXEs. For new projects, I just have to adjust the _APS_NEXT_xxx values in the resource.h file so the Visual Studio auto-generated IDs start in the proper range of IDs. The info in these technical notes explains the details... TN020: ID Naming and Numbering Conventions[^] TN035: Using Multiple Resource Files and Header Files with Visual C++[^] Mark
Mark Salsbery Microsoft MVP - Visual C++ :java: