±â¼ú ÀÚ·á: 600771 - ¸¶Áö¸· °ËÅä: 2004³â 3¿ù 19ÀÏ ±Ý¿äÀÏ - ¼öÁ¤: 2.0 MFC DLLÀÇ resource ã´Â ¼ø¼ÀÌ ¹®¼´Â ÀÌÀü¿¡ ´ÙÀ½ ID·Î ÃâÆÇµÇ¾úÀ½: KR600771 ¿ä¾à
MFC extension DLL¿¡¼ resource¸¦ °¡Á®¿À±â À§ÇØ CString::LoadString ȤÀº
CBitmap::LoadBitmap¸¦ »ç¿ëÇÒ ¶§, EXE file°ú DLL fileÀÇ Áߺ¹µÈ ID°¡ ÀÖ´Â
°æ¿ì¿¡´Â EXE fileÀÇ resource¸¦ °¡Á®¿À°Ô µÈ´Ù. À̰ÍÀº MFC¿¡¼ resource¸¦
ã´Â ¼ø¼°¡ Extension DLL ÀÎ °æ¿ì EXE fileÀÇ resource¸¦ °¡Àå ¸ÕÀú »ìÆì
º¸°í ¿©±â¿¡¼ ¹ß°ßÀÌ ¾ÈµÈ °æ¿ì¿¡ Extension DLL resouce¸¦ ±×¸®°í ¸¶Áö¸·
À¸·Î MFC DLL resource¸¦ ã°ÔµÇ±â ¶§¹®ÀÌ´Ù.
±×·¯³ª MFC Regular DLLÀÎ °æ¿ì¿¡´Â DLL ÀÇ ÇÔ¼ö°¡ resource¸¦ loadÇÒ ¶§ DLLÀÇ resource¸¸À» »ìÆìº¸±â ¶§¹®¿¡ ÀÌ·¯ÇÑ ¹®Á¦°¡ ¾ø´Ù. Ãß°¡ Á¤º¸
MFC Extension DLL¿¡¼ ¿Ã¹Ù¸¥ ÀÚ½ÅÀÇ resource¸¦ °¡Á®¿À±â À§Çؼ´Â
AfxSetResourceHandle()¸¦ ÀÌ¿ëÇÏ¿© DLLÀÇ instance¸¦ applicationÀÇ
default resource À§Ä¡·Î Àá½Ã settingÇØ ÁÖ¾î¾ß ÇÑ´Ù.
¿¹¸¦ µé¸é ´ÙÀ½°ú °°ÀÌ codingÇÒ¼ö ÀÖ´Ù.
HINSTANCE hInstResourceClient = AfxGetResourceHandle();
AfxSetResourceHandle(g_hInstance); // uses DLL's instance handle
// set in DllMain
CString strRes;
strRes.LoadString(IDS_MYSTRING);
AfxSetResoourceHandle(hInstResourceClient);
Âü°í·Î Regular DLL¿¡¼ EXE ÀÇ resource¸¦ °¡Á®¿À±â À§Çؼ´Â À§ÀÇ code¿Í ´Â ¿ªÀ¸·Î EXE fileÀÇ resource instance °ªÀ» °¡Áö°í default resource À§Ä¡¸¦ ´Ù½Ã settingÇØÁÖ¾î¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î ´ÙÀ½°ú °°ÀÌ codingÇÒ¼ö ÀÖ´Ù. HINSTANCE hInstResourceDll = AfxGetResourceHandle(); HINSTANCE hInstResourceClient = (HINSTANCE) ::GetModuleHandle(NULL); // use EXE's instance handle AfxSetResourceHandle(hInstResourceClient); CString strRes; strRes.LoadString(IDS_MYSTRING); AfxSetResoourceHandle(hInstResourceDll); [ÁÖÀÇ] AfxGetInstanceHandle ÇÔ¼ö´Â Extension DLL°ú Regular DLL¿¡¼ ¼·Î Á¤¹Ý´ëÀÇ instance¸¦ returnÇÑ´Ù. ÂüÁ¶º» ¹®¼ÀÇ Á¤º¸´Â ´ÙÀ½ÀÇ Á¦Ç°¿¡ Àû¿ëµË´Ï´Ù.
|

À§·Î °¡±â
