Last Updated 2011/05/01
Visual C++ DLL
拡張DLLでのリソース
2002/04/18

拡張 DLL の中で DLL のリソースを使うクラスを作成して,呼び出し元 EXE の中に同じ ID 番号のリソースがあるとそちらを使ってしまう.
しかし AFX_MANAGE_STATE を使用するとコンパイルが通らない.
(共有 DLL の場合はうまくいく)

拡張 DLL の場合は,AfxSetResourceHandle/AfxGetResourceHandle を使用する.
リソース使用後に元のハンドルに戻すことを忘れてはならない.

ex.
    // DLL 内にて
    const HINSTANCE hInstance = AfxGetResourceHandle();
    AfxSetResourceHandle(DLL のインスタンス ハンドル);
    CDialog dlg;
    dlg.DoModal();
    AfxSetResourceHandle(hInstance);


参照
共有DLLでのリソース
前後のTips
拡張DLLでのリソース

DSS ProgrammingTipsCGI Ver1.02