我创建了一个dll文件,该dll文件中包含了一个bmp图像,那为什么在引用该dll的exe文件中显示不出来图像!如何处理????请给出具体的代码好嘛?

解决方案 »

  1.   

    这段小文章可能帮助你问题:为什么DLL在字符串表中找不到字符串
     我用向导生成器中的"Use MFC in a Shared DLL"选项建立一个DLL,在字符串表
    资源中加一个字符串,当我使用csMyString.LoadString( IDS_MY_STRING ) 
    csMyString 是空的,为什么会这样?1)MFC是由AfxGetResourceHandle调用资源的.所以,如果你想在你的DLL中读出
    资源应该使用 AfxSetResourceHandle.你也可以在LoadLibrary的返回值中得到
    它,如果不想调用该DLL时也可以使用DLLMain函数的hInstance参数.
    2)试一下在你函数打头处使用AFX_MANAGE_STATE(AfxGetStaticModuleState()) 
    (事实上每个被外部DLL调用的每一个函数都会使用它)
    3)我记得先前的列表讲过这个问题,试一下以下两种方法: 如果你是用
    LoadLibrary()来调用DLL的,它会返回一个句柄,你可以在
     AfxSetResourceHandle()中使用它.如:
       hinstnew = Loadbrary(...);
       ...
       hinstOld = AfxGetResourceHandle();
       AfxSetResourceHandle(hinstnew);
       LoadString(IDS_MY_STRING);
       AfxSetResourceHandle(hinstOld); // remember to set this back,
                               // or your night won't be nice.
    如果你不是用LoadLibrary来调用DLL又该怎样办呢?你可以使用 
    GetModule("You DLL Name")来取得用户句柄,剩下的就好办了.
      

  2.   

    http://www.china-askpro.com/msg1/qa32.shtml