Program 10¿ù19ÀÏ 9:41:00
Áú¹®À» ´Ù½Ã Á¤¸®ÇØ º¸°Ú½À´Ï´Ù.
¸ÞÀÎÀ©µµ¿ì¸¦ ¸¸µé°í CREATE ¸Þ½ÃÁö ¿¡¼ Â÷ÀϵåÀ©µµ¿ì mag1.Create()ÇÏ¿© ȸ鱸¼®¿¡ ¶ç¾ú½À´Ï´Ù
Çϳª´õ LButtonDown¿¡¼ msg2=new ShowMsg; msg2.Create()ÇÏ¿© Çϳª´õ ȸ鿡 ¶ç¾ú½À´Ï´Ù.
À̶§ Â÷ÀϵåÀ©µµ¿ì °ü¸®ÄÚµåÀÇ ¼Ò¸êÀÚ¿¡¼ ÀÚ½ÅÀÇ À©µµ¿ì¸¦ DestroyWindow ÇØ ÁÖ¾î¾ß ÇÏ´ÂÁö
¾Æ´Ï¸é Destroy´Â ¾ÈÇÏ°í µ¿ÀûÇÒ´ç ¸Þ¸ð¸®¸¸ delete ÇØÁÖ¸é ÀÀ¿ëÇÁ·Î±×·¥ Á¾·á½Ã
¸ÞÀο¡¼ ¾Ë¾Æ¼ Â÷Àϵå±îÁö ÀûÀýÇÑ Ã³¸®¸¦ ÇØÁÖ´ÂÁö
µÑÁß ¾î´À °ÍÀÎÁö ±Ã±ÝÇÕ´Ï´Ù. ¶ÇÇÑ µÑ´Ù ±¦ÂúÀº °ÍÀÎÁö?
¿Ö±×·±°¡ÇÏ¸é °Á¿¡¼ new ShowMsg ÇÑ ÈÄ¿¡ delete ÇØÁÖ¸é µ¿Àû¸Þ¸ð¸® ÇØÁ¦Çϰí
¼Ò¸êÀÚ¿¡¼ DestroyWindow ±îÁö ÇØÁִµ¥ ¹ÝÇØ ½ÇÇàÁß deleteÇÏÁö ¾Ê°í ÀÀ¿ëÇÁ·Î±×·¥À» ±×³É Á¾·áÇϸé
CRegisterHelp ¼Ò¸êÀÚ°¡ ¸ÕÀú ½ÇÇàµÈ´Ù¸é arObj¸¦ NULL·Î ¸¸µé»Ó ¾Æ¹«°Íµµ ÇÏÁö¾Ê¾Æ ±×ÈÄ ShowMsg ¼Ò¸êÀÚ°¡
È£ÃâµÇ¾îµµ ÀÌ¹Ì arObj°¡ ¹«È¿ÇϹǷΠDestroyWindow ÇÒ ±âȸ¸¦ ÁÖÁö ¾Ê±â¶§¹®ÀÔ´Ï´Ù |
Program 10¿ù19ÀÏ 4:25:07
A,B µÎ Ŭ·¡½º°¡ ÀÖ°í µÎ°´Ã¤ a,b°¡ ÀÖÀ»¶§
A * a=new A;
B b;
¿©±â¼ delete a¸¦ ÇØ ÁÖ¾î¾ß Çϴµ¥ ½ÇÇàÁß LButtonŬ¸¯ÇÏ¿© a=new A;·Î »ý¼ºÇϰí
±×³É Á¾·áÇÒ °æ¿ì ¸Þ¸ð¸®´©¼ö°¡ »ý±â¹Ç·Î ÇÒ¼ö¾øÀÌ B b °´Ã¼ÀÇ ¼Ò¸êÀÚ ÇÔ¼ö³»ºÎ¿¡
B::~B()
{
if(a À¯È¿Çϸé) delete a;
}
¸¦ ÇØÁÖ¾ú´Âµ¥ ±×·¯¸é aÀÇ ¸Þ¸ð¸® ÇØÁ¦´Â µÇ¾ú´Âµ¥ À̶§ a°¡ deleteµÇ¹Ç·Î aÀÇ ¼Ò¸êÀÚ°¡ È£ÃâµÇ¾î¾ß Çϴµ¥
ÄÚµùÀ¸·Î È®Àΰá°ú B¼Ò¸êÀÚ ³»ºÎ¿¡¼ µ¿Àû°´Ã¼ a ¸¦ deleteÇϸé a ÀÇ ¼Ò¸êÀڴ ȣÃâµÇÁö ¾Ê´Â °ÍÀ» È®ÀÎÇÏ¿´½À´Ï´Ù ±×·¯¸é ÀÏ´Ü a ÀÇ ´©¼ö¸¦ ¹æÁöÇØ¾ß ÇϹǷΠÀ§Ã³·³ ÄÚµùÇÏ°í ´ÜÁö a ¼Ò¸êÀڴ ȣÃâµÇÁö ¾Ê´Â´Ù
¹°·Ð Á¤ÀûÀ¸·Î A a Çϸé Á¾·á½Ã a ÀÇ ¼Ò¸êÀڴ ȣÃâµË´Ï´Ù.
ÀÌ°Ô ¸Â½À´Ï±î? |
Program 10¿ù24ÀÏ 11:36:20
µ¿Àû»ý¼º°´Ã¼(A *a new A)´Â ÇÁ·Î±×·¥Á¾·á½Ã¿¡µµ °´Ã¼°¡ »ì¾ÆÀÖ¾î ¼Ò¸êÀÚ°¡ È£ÃâµÇÁö ¾Ê½À´Ï´Ù.
±×·¡¼ ¿©·¯°¡Áö °æ¿ì¸¦ ½ÇÇèÇØ º¸¾Ò´Âµ¥
µµ¿ì¹ÌŬ·¡½º B b; »ý¼ºÀÚ¿¡ Â÷ÀϵåÀ©µµ¿ìŬ·¡½º¸¦ µî·ÏÇÑ µÚ
¸ÞÀÎÀ©µµ¿ì¸¦ ½ÇÇàÇÏ°í ¸¶¿ì½ºÅ¬¸¯½Ã A * a=new A; a.Create(...)//CreateWindow()¸¦ È£Ãâ
¿©±â¼ ¸í½ÃÀûÀ¸·Î delete a; ¸¦ ÇØÁÖ¸é
a ¸Þ¸ð¸®°¡ ÇØÁ¦µÇ¸é¼
1. aÀÇ ¼Ò¸êÀÚ°¡ µ¿ÀÛÇϰí
2. Â÷ÀϵåÀ©µµ¿ì a¿¡ ´ëÇÏ¿© DestroyWindow(hWnd) ¸í½ÃÀûÀ¸·Î ÀÌ Äڵ带 ¾îµò°¡¿¡ ³Ö¾î Â÷Àϵ带 ÆÄ±«Çϰí
3. Â÷ÀϵåÀ©µµ¿ì WM_DESTROY ¸Þ½ÃÁö°¡ ¹ß»ýÇÕ´Ï´Ù.
À§ 1,2,3À» È®ÀÎÇÏ¿´°í
¹®Á¦´Â ÇÁ·Î±×·¥½ÇÇàÁß delete a;¸¦ ÇÏÁö ¾Ê°í ±×³É Á¾·áÇßÀ»¶§ÀÇ ÀûÀýÇÑ Á¶Ä¡¸¦ ÇØ¾ß Çϴµ¥ À̶§´Â
µµ¿ì¹ÌÀü¿ª°´Ã¼ b°¡ »ç¶óÁö¸é¼ bÀÇ ¼Ò¸êÀÚ°¡ È£ÃâµË´Ï´Ù.
±×·¯¸é ¼Ò¸êÀÚ³»ºÎÄڵ忡 if(aÀ¯È¿Çϸé) delete a;¸¦ ÇØÁÖ¾ú´õ´Ï
0 Á¦ÀϸÕÀú ¸ÞÀÎÀÇ CView::OnDestroy() Áï ¸ÞÀÎÀÇ WM_DESTROY ¸Þ½ÃÁö°¡ ¹ß»ýÇÕ´Ï´Ù
1. ¸ÞÀÎÀ©µµ¿ì°¡ »ç¶óÁö´Ï ÀÚµ¿À¸·Î Â÷ÀϵåÀ©µµ¿ìÀÇ WM_DESTROY ¸Þ½ÃÁö°¡ ¹ß»ýÇÕ´Ï´Ù.
2. b°´Ã¼°¡ »ç¶óÁö´Ï b ¼Ò¸êÀÚ°¡ È£ÃâµÇ°í ¼Ò¸êÀÚ³»ºÎ Äڵ忡¼ delete a; ¿¡ ÀÇÇØ
3.µ¸Àû¸Þ¸ð¸® a¸¦ ÇØÁ¦ÇϹǷΠ¸ðµÎ Á¤»óÁ¾·áÀÎ°Í °°½À´Ï´Ù.
´Ü À̶§ b ¼Ò¸êÀÚ ³»ºÎ¿¡¼ delete a;¿¡ ÀÇÇØ a°¡ »ç¶óÁö´Âµ¥ À̶§´Â aÀÇ ¼Ò¸êÀڴ ȣÃâµÇÁö ¾Ê½À´Ï´Ù.
À̰ÍÀº ¼Ò¸ÖÀÚÇÔ¼ö ³»ºÎ¿¡¼ ¶Ç ´Ù¸¥ ¼Ò¸êÀÚ¸¦ È£ÃâÇÒ ¼ö ¾ø´Â °Í °°½À´Ï´Ù.
¾Æ¹«Æ° µ¿ÀûÂ÷ÀϵåÀ©µµ¿ì¸¦ Á¤»óÁ¾·áÇÏ´Â ¹æ¹ýÀ» ³ª¸§´ë·Î ¿¬±¸ÇØ º¸¾Ò½À´Ï´Ù
|
Program 10¿ù29ÀÏ 8:30:26
¸Þ½ÃÁö¹Ú½ºÃâ·ÂÀ» hWnd ·Î Çϴϱî À©µµ¿ì°¡ »ç¶óÁøÈÄ´Â ¹Ú½º°¡ ³ªÅ¸³ªÁö ¾Ê¾Ò½À´Ï´Ù.
Áï ¼Ò¸êÀÚ³»ºÎ¿¡ ¸Þ½ÃÁö¹Ú½º Ãâ·Â¹®À» ³Ö¾ú´Âµ¥ hWnd·Î Çϴϱî ÀÌ°Ô ¼Ò¸ê½ÃÁ¡¿¡ ¹«È¿°¡ µÇ¾î ¹Ú½º°¡ ¶ßÁö ¾Ê¾Ò½À´Ï´Ù
±×·¡¼ hWnd ´ë½Å NULL ·Î ÇÏ´Ï ¸Þ½ÃÁö¹Ú½º°¡ ³ªÅ¸³³´Ï´Ù.
¶ÇÇÑ ±×·¡¼ À§ ´ñ±Û¿¡¼µµ ¿À·ù¸¦ ÀâÀ¸¸é ¼Ò¸êÀÚ³»ºÎ¿¡¼ ¶Ç ´Ù¸¥ ¼Ò¸êÀÚµµ È£ÃâµË´Ï´Ù.
¹®Á¦ÀÇ ÇÙ½ÉÀº ¼Ò¸êÀÚ¿¡ ÀÌ¹Ì ¹«ÈÞÇÑ hWnd ¸¦ »ç¿ëÇÏ¿© ¸Þ½ÃÁö¹Ú½º¸¦ Ãâ·ÂÇÏ´Ï ¶ã ¸®°¡ ¾ø¾úÁö¿ä
ÀÌÁ¦ ´ëÃæ ¾Ë¾Ò½À´Ï´Ù ¿µ¾î·Î I Got It ! À̶ó°í ÇÏÁö¿ä
ÀÌÁ¦ µü Çϳª ³²Àº Àǹ®Àº Â÷ÀϵåÀ©µµ¿ì´Â ¸ÞÀÎÀ©µµ¿ì°¡ Á¾·áÇÏ¸é ¸ÞÀÎÀÇ WM_DESTROY ¸Þ½ÃÁö°¡ ¹ß»ýÇÏ°í ³ª¼
Â÷Àϵ尡 ÆÄ±«µÇ¾î Â÷ÀϵåÀÇ WM_DESTROY°¡ ¿¬°ÅǪ ¹ß»ýÇÕ´Ï´Ù ±×·¡¼ º°µµ DestroyWindow(Â÷ÀϵåÀ©µµ)¸¦ ¾ÈÇØµµ
µÇ´Âµ¥ ´õ¿í ¾ÈÁ¤Àû?À¸·Î ÇÏ·Á¸é ¸ÞÀÎÀÇ WM_DESTROY ¸Þ½ÃÁö¿¡
DestroyWindow(child_hWnd);
delete child_Obj; ¸¦ ÇØÁÖ´Â °ÍÀ¸·Î ÀÌÇØÇÏ¿´½À´Ï´Ù
°©Àڱ⠱âºÐÀÌ ÁÁ¾ÆÁö³×¿ä °¨»çÇÕ´Ï´Ù |
ÀÛ°¡K 10¿ù29ÀÏ 9:57:16
À©µµ¿ìÀÇ À©µµ¿ì °ü¸® ½Ã½ºÅÛÀº º¸±âº¸´Ù´Â Á» º¹ÀâÇÕ´Ï´Ù.
¸ÞÀÎÀÌ ÆÄ±«µÉ ¶§ Â÷Àϵå´Â µû·Î ÆÄ±«ÇÏÁö ¾Ê¾Æµµ ¼øÂ÷ÀûÀ¸·Î ¸ÕÀú ÆÄ±«Çϵµ·Ï µÇ¾î ÀÖ¾î Á÷Á¢ ÆÄ±«ÇÏÁö ¾Ê¾Æµµ º°´Ù¸¥ ºÎÀÛ¿ëÀº ¾ø½À´Ï´Ù.
¾îÂ÷ÇÇ ¼ø¼´ë·Î WM_DESTROY¸¦ ¹Þ¾Æ Á¤¸® Äڵ嵵 ¼ø¼´ë·Î ½ÇÇàµÇ°í¿ä
±×·±µ¥ À©µµ¿ì¸¦ °´Ã¼·Î °¨½Î¸é À©µµ¿ì »Ó¸¸ ¾Æ´Ï¶ó °´Ã¼µµ °°ÀÌ ÆÄ±«ÇØ¾ß ÇÏ´Â ºÎ´ãÀÌ »ý±é´Ï´Ù.
À̶§ °´Ã¼¸¦ ¸ÕÀú ÆÄ±«ÇÏ´À³Ä, À©µµ¿ì¸¦ ¸ÕÀú ÆÄ±«ÇÏ´À³ÄÀÇ ¼ø¼¿Í µ¿ÀûÀ¸·Î »ý¼ºÇÑ °´Ã¼Àΰ¡, Á¤ÀûÀ¸·Î ¼±¾ðÇÑ °´Ã¼Àΰ¡ÀÇ ¿©·¯ °¡Áö °¥·¡°¡ »ý±é´Ï´Ù.
°¢ °æ¿ì¸¶´Ù À©µµ¿ì¿Í °´Ã¼¸¦ ¿ÏÀüÈ÷ ÆÄ±«ÇÏ´Â ¹æ¹ýÀÌ Á¶±Ý¾¿ ´Ù¸¨´Ï´Ù.
´ç±ÙÀÇ ÄÁÆ®·ÑÈ¿¡¼´Â ¸ðµç Â÷Àϵ带 new·Î »ý¼ºÇÏ¸ç »ý¼º ´ë»ó ŸÀÔÀÌ ¸ðµÎ °°¾Æ ÀÌ¿¡ ´ëÇÑ Ã³¸®±îÁö¸¸ ÀÛ¼ºÇß½À´Ï´Ù.
±×·¯³ª ´ç±Ù 1.2¿¡¼ ºÐÇÒ ºä¸¦ ¸¸µé¸é °´Ã¼ÀÇ °èÃþÀÌ »ý¼ºµÇ´Âµ¥ ÀÌ °æ¿ì´Â ¶Ç Á» ´Þ¶óÁý´Ï´Ù. ÀÌ °æ¿ì´Â ´ç±Ù 21-1-»ç Ç×À» ÂüÁ¶ÇϽʽÿÀ.
°¡»ó ÆÄ±«ÀÚ¿¡¼ È£ÃâÇÏ´Â °¡»ó ÇÔ¼ö´Â ÆÄ±« ´ë»ó ŸÀÔÀÌ ¾Æ´Ñ ÆÄ±«ÀÚ¸¦ ¼ÒÀ¯ÇÑ Å¸ÀÔÀÇ ÇÔ¼ö¶ó´Â ¹®Á¦°¡ ÀÖ½À´Ï´Ù.
±×·¡¼ °´Ã¼ ÆÄ±«¸¦ RemoveObject¿¡¼ Á÷Á¢ÇÏÁö ¾Ê°í ¼öµ¿À¸·Î ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù. ¿©±â±îÁö°¡ ´ç±Ù 1.2ÀÇ À©µµ¿ì °ü¸® ¹æ¹ýÀÌ¸ç º° ¹®Á¦°¡ ¾ø¾ú½À´Ï´Ù.
±×·¸´Ù°í ÀÌ ¹æ¹ýÀÌ ´Ù ¿Ïº®ÇÑ °ÍÀº ¾Æ´Ï°í °æ¿ì¿¡ µû¶ó¼´Â ¶Ç ´Ù¸¥ ¹®Á¦°¡ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù.
±× ¿¹´Â SoEnty ÇÁ·ÎÁ§Æ®¿¡¼ ãÀ» ¼ö Àִµ¥ ÀÌ ÇÁ·ÎÁ§Æ®µµ ´ç±Ù 1.2ÀÇ ¹æ½ÄÀ» »ç¿ëÇÕ´Ï´Ù.
Á߹ݱîÁö´Â º° ¹®Á¦°¡ ¾ø¾ú´Âµ¥ ¶Ç ´Ù¸¥ ¹®Á¦°¡ Çϳª ´õ ¹ß°ßµÇ¾ú½À´Ï´Ù.
ºÎ¸ð°¡ ÀÚ½ÄÀ» ÆÄ±«ÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ÀÚ½Ä ½º½º·Î ÀÚ»ìÇÒ ¶§Àε¥ ÀÌ °æ¿ì´Â ºÎ¸ð°¡ ÀÚ½Ä °´Ã¼¸¦ Á¤¸®ÇÒ ±âȸ°¡ ¾ø½À´Ï´Ù.
ÀÌ ¹®Á¦´Â ÀÚ½Ä »ý¼º½Ã ºÎ¸ð¿¡°Ô Á¤¸®¸¦ À§ÀÓÇØ µÎ°í °´Ã¼ ¸ÊÀº WM_NCDESTROY ¸Þ½ÃÁö¸¦ ¹Þ¾ÒÀ» ¶§ ÀÚ½Ä °´Ã¼¸¦ Á¤¸®ÇØ ÁÖ´Â ½ÄÀ¸·Î ÇØ°áÇß½À´Ï´Ù.
±×·³ ¿Ö ÇÏÇÊ WM_NCDESTROYÀÌ³Ä Çϸé ÀÌ ¸Þ½ÃÁö°¡ À©µµ¿ì »ý¾Ö °¡Àå ¸¶Áö¸·À¸·Î Àü´ÞµÇ´Â ¸Þ½ÃÁöÀ̱⠶§¹®ÀÔ´Ï´Ù.
WM_DESTROY¿¡¼ °´Ã¼¸¦ Á¦°ÅÇØ ¹ö¸®¸é ±× ÈÄ¿¡ Àü´ÞµÇ´Â ´Ù¸¥ ¸Þ½ÃÁö¸¦ º¸³¾ ´ë»óÀ» ãÁö ¸øÇØ ´Ù¿îµÇ¾î ¹ö¸³´Ï´Ù.
¸¶Áö¸· ¸Þ½ÃÁö¶ó´Â È®½ÅÀÌ ÀÖÀ» ¶§ °´Ã¼¸¦ Á¦°ÅÇÏ¸é ¾Æ¹« ¹®Á¦°¡ ¾ø½À´Ï´Ù.
À©µµ¿ì ½ºÅ¸ÀÏ¿¡ µû¶ó WM_NCDESTROY ÀÌÈÄ¿¡µµ ¸Þ½ÃÁö°¡ ´õ ¿Ã ¼ö Àִµ¥ ÀÌ·² °æ¿ì ÀÌ ¸Þ½ÃÁö¸¦ Ä¸Ã³ÇØ¼ °´Ã¼¸¦ ÆÄ±«ÇØ¾ß ÇÕ´Ï´Ù.
¿©±â±îÁöÀÇ ±¸Çö °á°ú´Â SoEnty 0.61 ¼Ò½º¿¡ Á¤¸®µÇ¾î ÀÖÀ¸´Ï Âü°íÇϽʽÿÀ.
À©µµ¿ì°¡ ¿ø·¡ °´Ã¼ ÁöÇâÀûÀ¸·Î ¼³°èµÈ °ÍÀÌ ¾Æ´Ï´Ù º¸´Ï °´Ã¼ ¸ÊÀ» ¸¸µé¾î °ü¸®ÇϱⰡ ½±Áö ¾Ê½À´Ï´Ù.
°¡Àå ¿Ïº®ÇÑ °´Ã¼ °ü¸® ¹æ¹ýÀº MFC ¼Ò½º¸¦ º¸¸é µÇ´Âµ¥ ÀÌ ¼Ò½º ¶ÇÇÑ ±×´ÙÁö ±ò²ûÇÏ°Ô µÇ¾î ÀÖÁö´Â ¾Ê´õ±º¿ä.
¸ðµç °æ¿ì¿¡ ¿Ïº®ÇÑ ¹æ¹ýÀ» ±»ÀÌ Ã£À» ÇÊ¿ä´Â ¾ø°í ÇÊ¿äÇÑ ÄÉÀ̽º¸¸ µÎ·ç Àß Áö¿øÇÏ¸é µË´Ï´Ù.
SoEnty 0.61ÀÇ °æ¿ì ¾ÆÁ÷±îÁö´Â º° ¹®Á¦°¡ ¹ß°ßµÇÁö ¾Ê¾Ò½À´Ï´Ù.
¹°·Ð ´õ ¹ß°ßµÇ¸é ÀÌÀ¯¸¦ ºÐ¼®ÇØ º¸°í ¶Ç ¼öÁ¤ÇÏ¸é µÇ°í¿ä. ÀÌ·¯´Â °úÁ¤¿¡¼ À©µµ¿ì ½Ã½ºÅÛÀ» ´õ Àß ÀÌÇØÇÏ°Ô µÇ°ÚÁö¿ä. |