我有一个工程,里面使用了多个dll(如:dll工程1 dll工程2 dll工程3 。),由于这些dll要在同一个MainFrame中被调用,我想使这些dll中用到的资源ID不重复,该怎么做。怎么才能让多个工程合用一个Resource.h,从而实现ID的唯一性。
我不想通过人为的进行资源分段处理。

解决方案 »

  1.   

    不太明白你的意思,你的dll是用来操作工程里的资源吗?帮你顶一下吧。
      

  2.   

    你把所有的资源都放在主工程的resource.h以及RC里面就可以的dll能找得到
      

  3.   

    我在dll里面要生成ChildFrame和FormView,在多个dll中,如果不同的Dll中的FormView的ID相同,在生成这个窗口的时候,就会有问题.
      

  4.   

    每个工程里加个def调用ID时, 再作个宏, 比如: GETMYID(ID)
    ifdef(...) then
       ID + ...
    end
      

  5.   

    在FormView的头文件中.
    //{{AFX_DATA(CFormViewDD)
    enum { IDD = IDD_FORMVIEW_DD };
    CListCtrl m_List;
    CTreeCtrl m_Tree; // NOTE: the ClassWizard will add data members here
    //}}AFX_DATA
    怎么保证所有的Dll中,IDD_FORMVIEW_DD不重复?
      

  6.   

    我是一个多个模块的项目,做了一个主框架程序,每一个模块都是一个dll,可以被主框架程序调用。
      

  7.   

    AFX_MANAGE_STATE(AfxGetStaticModuleState( ));
    自己去查msdn,里面讲的很清楚。
      

  8.   

    同意seu_passer(SEUPASSER);
    自己看msdn中得AFX_MANAGE_STATE(AfxGetStaticModuleState( ));
      

  9.   

    在我的dll中不能使用AFX_MANAGE_STATE(AfxGetStaticModuleState( ));
    用AfxSetResourceHandle(hResource);搞定