°³Ã¼¿¡ ¿¬°á ÁöÁ¡À» Ãß°¡

ATL ÀÚ½À¼­ ¿¬°á ÁöÁ¡¿¡ ´ë ÇÑ Áö¿øÀ» ¾î¶»°Ô ÄÁÆ®·ÑÀ» ¸¸µå´Â ¹æ¹ýÀ» º¸¿© ÁÖ´Â À̺¥Æ® ¹× ¿¬°á point.nbsp;À» ±¸Çö ÇÏ´Â ¹æ¹ýÀ» Ãß°¡ ÇÏ ATL ¿¬°á ÁöÁ¡À» ±¸Çö ÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¼³¸í ÇÕ´Ï´Ù IConnectionPointImpl(&N)¡£

¿¬°á ÁöÁ¡À» ±¸Çö ÇÏ·Á¸é µÎ °¡Áö ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù.:

¾î´À °æ¿ìÀÌ µç, ¿¬°á ÁöÁ¡ ¸¶¹ý»ç ÀÛ¾÷À» ¼öÇà ÇÏ´Â Çü½Ä ¶óÀ̺귯¸®¸¦ »ç¿ë¡£

¸Þ¸ðnbsp;??.Idl ÆÄÀÏÀ» ´Ù½Ã ÄÄÆÄÀÏÇϰí ÇÏ °í ÄÁÆ®·ÑÀÌ ³ª °³Ã¼¿¡ ¿¬°á ÁöÁ¡À» Ãß°¡ ÇÏ´Â ÀýÂ÷¸¦ ¼öÇà ÇØ¾ß ÇÕ´Ï´Ù dispinterface´Â ´ç½ÅÀÌ ÀÌ¹Ì ¿¬°á ÁöÁ¡À» ±¸Çö ÇÏ´Â ¸Þ¼­µå¸¦ Ãß°¡ÇÒ ¶§¸¶´Ù(&N)¡£

ÄÁÆ®·ÑÀÌ ³ª °³Ã¼¿¡ ¿¬°á ÁöÁ¡À» Ãß°¡ ÇÏ·Á¸é

  1. .Idl ÆÄÀÏ ¶óÀ̺귯¸® ºí·Ï¿¡ dispinterface¸¦ Á¤ÀÇ ÇÕ´Ï´Ù. ATL °³Ã¼ ¸¶¹ý»ç¿¡¼­ Ư¼º ÅÇ¿¡¼­ Áö¿ø ¿¬°áÁ¡ È®ÀζõÀ» ¼±Åà ÇÏ´Â °æ¿ì´Â dispinterface ÀÌ¹Ì ¸¸µé¾îÁý´Ï´Ù. Áö¿ø ¿¬°á ÁöÁ¡ È®ÀζõÀ» ¼±Åà ÇÏÁö ¾ÊÀº °æ¿ì.idl ÆÄÀÏÀ» dispinterface¸¦ ¼öµ¿À¸·Î Ãß°¡ ÇØ¾ß ÇÕ´Ï´Ù. ´ÙÀ½Àº dispinterfaceÀÇ ¿¹ÀÔ´Ï´Ù. ¾Æ¿ô ¹Ù¿îµå ÀÎÅÍÆäÀ̽º´Â µð½ºÆÐÄ¡ ÀÎÅÍÆäÀ̽º ÇÊ¿ä ÇÏÁö¸¸ VBScript ¹× Javascript¿Í °°Àº ¸¹Àº ½ºÅ©¸³ÆÃ ¾ð¾î ÇÊ¿ä,ÀÌ ¿¹Á¦¿¡¼­´Â µÎ °³ÀÇ dispinterfaces »ç¿ë ÇϹǷÎ:
    ¶óÀ̺귯¸® DProjLib { importlib("stdole32.tlb"); importlib("stdole2.tlb");[ uuid(57BC50F0-780B-11d1-8C44-0060083E866C), helpstring ("¹öµð À̺¥Æ®") ] dispinterface DBuddyEvents { ¼Ó¼º: ¹æ¹ý: };
    
    

    Uuidgen.exe ¶Ç´Â guidgen.exe À¯Æ¿¸®Æ¼¸¦ »ç¿ë ÇÏ ¿© GUID¸¦ »ý¼º¡£

  2. Dispinterface·Î Ãß°¡ [±âº», ¼Ò½º] object.nbsp;¿¡ ´ë ÇÑ coclass ÀÎÅÍÆäÀ̽º ´Ù½Ã ¸»ÇÏÁö¸¸,ÀÌ ÄÁÆ®·Ñ¿¡ ´ë ÇÑ ATL °³Ã¼ ¸¶¹ý»ç¿¡¼­ Ư¼º ÅÇ¿¡¼­ Áö¿ø ¿¬°áÁ¡ È®ÀζõÀ» ¼±ÅÃÇÑ °æ¿ì ¸¶¹ý»ç »ý¼º µË´Ï´Ù [±âº»°ª, ¼Ò½º] Ç׸ñ. ÀÌ Ç׸ñÀ» ¼öµ¿À¸·Î Ãß°¡ ÇÏ·Á¸é ±½°Ô ÁÙ Ãß°¡(&N):
    coclass Ä£±¸ { [±âº»°ª] ÀÎÅÍÆäÀ̽º IBuddy;[±âº», ¼Ò½º] dispinterface DBuddyEvents;}

    .Idl ÆÄÀÏ¿¡ ÂüÁ¶¸¦ Circ ATL »ùÇà ¿¹¡£

  3. Ŭ·¡½º ºä ¸¦ »ç¿ë ÇÏ ¿© À̺¥Æ® ÀÎÅÍÆäÀ̽ºÀÇ ¸Þ¼­µå ¹× ¼Ó¼º Ãß°¡¡£

  4. ÈÄ´Â dispinterface ¿ÏÀüÈ÷ Á¤ÀÇ µÈ FileView .idl ÆÄÀÏÀ» ¸¶¿ì½º ¿À¸¥ÂÊ ´ÜÃ߷ΠŬ¸¯ ÇÏ °í ÄÄÆÄÀÏ option.nbsp;¸¦ ¼±Åà ÇÏ ¿©.idl ÆÄÀÏ ÄÄÆÄÀÏ ÀÌ Çü½Ä ¶óÀ̺귯¸®¸¦ »ý»êÇÒ ¿¹Á¤ ÀÌ´Ù(&N)¡£

  5. Ŭ·¡½º ºä ¿¡¼­ Ŭ·¡½º¸¦ ¸¶¿ì½º ¿À¸¥ÂÊ ´ÜÃ߷ΠŬ¸¯ ÇÏ °í ±¸Çö ¿¬°á ÁöÁ¡...¸¦ ¼±Åà ÇÕ´Ï´Ù. ´ëÈ­ »óÀÚ¿¡´Â Çϳª ÀÌ»óÀÇ Çü½Ä ¶óÀ̺귯¸® ÅÇ Ç¥½Ã µË´Ï´Ù. ¹× °¢ ÅÇ¿¡´Â ÇØ´ç type library.nbsp;¿¡ ´ë ÇÑ ÀÎÅÍÆäÀ̽º Ç¥½Ã µË´Ï´Ù. ÀÎÅÍÆäÀ̽º¸¦ ¼±Åà ÇÏ °í È®ÀÎÀ» ´©¸¨´Ï´Ù °æ¿ì(&N):
    • À̺¥Æ®¿¡ ´ë ÇÑ ¹ß½Å ÀüÈ­¸¦ ÇÒ °ÍÀÔ´Ï´Ù Äڵ带 ±¸Çö ÇÏ´Â À̺¥Æ® ÇÁ·Ï½Ã Ŭ·¡½º¸¦ »ç¿ë ÇÏ ¿© Çì´õ ÆÄÀÏÀ» »ý¼º¡£

    • ¿¬°á ÁöÁ¡ ¸Ê¿¡ Ç׸ñ Ãß°¡¡£

    • ÁÖ¼® ¹× # error (NULL ¸Å°³ º¯¼ö´Â dispID ÁÖ¼Ò·Î ¹Ù²Ü °ÍÀÎÁö ¸»Çϰí) IProvideClassInfo2Impl ¸Å°³ º¯¼ö ¸ñ·Ï¿¡ Ãß°¡¡£

    Computer.nbsp;¿¡ ¸ðµç typelibÀÇ ¸ñ·Ï¿¡ Ç¥½Ã µË´Ï´Ù ÇÏÁö Çü½Ä ¶óÀ̺귯¸®¸¦ ¸¸µç °æ¿ì ¸¸ ´Ù¸¥ typelib¿¡ Á¤È®ÇÑ µ¿ÀÏÇÑ ³ª°¡´Â ÀÎÅÍÆäÀ̽º¸¦ ±¸Çö ÇÏ·Á´Â °æ¿ì ¿¬°á ÁöÁ¡À» Á¤ÀÇ ÇÏ ÀÌ·¯ÇÑ ´Ù¸¥ typelib Áß Çϳª¸¦ »ç¿ë ÇØ¾ß ÇÕ´Ï´Ù.? CoclassÀÇ ±âº» ¼Ò½º ÀÎÅÍÆäÀ̽º ¾øÀÌ typelib¸¦ ±¸Ãà ÇÏ´Â °æ¿ì ´ëÈ­ »óÀÚ º¸°í Çü½Ä ¶óÀ̺귯¸®¿¡ ÀûÇÕ (¼Ò½º) ÀÎÅÍÆäÀ̽º ¾øÀ½ °æ°í ¸Þ½ÃÁö°¡ Ç¥½Ã µË´Ï´Ù(&N).

´Ù¸¥ °³Ã¼ÀÇ Çü½Ä ¶óÀ̺귯¸®¿¡¼­ °¡Á®¿Â ¿¬°á ÁöÁ¡À» ±¸Çö ÇÏ·Á¸é

  1. ClassView¿¡ BEGIN_COM_MAP ¸ÅÅ©·Î ±¸Çö Çϴ Ŭ·¡½º¸¦ ¸¶¿ì½º ¿À¸¥ÂÊ ´ÜÃ߷ΠŬ¸¯ ÇÏ °í ¹Ù·Î °¡±â ¸Þ´º¿¡¼­ ¿¬°á ÁöÁ¡ ±¸Çö ¼±Åá£

  2. ±¸Çö ¿¬°á ÁöÁ¡ ´ëÈ­ »óÀÚ¿¡¼­ Ãß°¡ Typelib¿¡...¡£

  3. »ç¿ë °¡´ÉÇÑ Çü½Ä libraries.nbsp; Áß Çϳª¿¡¼­ ¼±Åà Çü½Ä ¶óÀ̺귯¸®¸¦ ¼±ÅÃÇÑ ÈÄ Çü½Ä ¶óÀ̺귯¸®¿¡¼­ »ç¿ë °¡´ÉÇÑ ÀÎÅÍÆäÀ̽º ¸ñ·ÏÀ» ³ªÅ¸³³´Ï´Ù(&N).

  4. »ç¿ëÇÒ ¼ö ÀÖ´Â ÀÎÅÍÆäÀ̽º Áß Çϳª ÀÌ»óÀ» ¼±Åà ÇÏ °í È®ÀÎ À» Ŭ¸¯¡£

  5. .Idl ÆÄÀÏÀ» ÆíÁý:
    • À̺¥Æ® ¼Ò½º¸¦ »ç¿ë ÇÏ´Â °³Ã¼¿¡ ´ë ÇÑ idl ÆÄÀÏ¿¡¼­ dispinterface¸¦ º¹»ç¡£

    • Importlib ¸í·É¾î¸¦ »ç¿ë ÇÏ ¿© ÇØ´ç Çü½Ä ¶óÀ̺귯¸®¿¡¡£

´ÙÀ½Àº Circ ÄÁÆ®·Ñ¿¡¼­ ¿¬°á ÁöÁ¡À» »ç¿ë ÇÏ´Â.idl ÆÄÀÏ¿¡¼­ ¿¹Á¦¡£

[
   uuid(38BBFD91-7575-11D1-8C3C-0060083E866C),
   version(1.0),
   helpstring ("16190 1.0 Çü½Ä ¶óÀ̺귯¸®")
]
¶óÀ̺귯¸® MY16190Lib
{
   importlib("stdole32.tlb");
   importlib("stdole2.tlb");
   importlib("D:\\ATL25\\samples\\circ\\circ.tlb");   / / ****ÀÌ ÁÙ [Ãß°¡
      uuid(38BBFD9E-7575-11D1-8C3C-0060083E866C),
      helpstring ("Atl16190Ctl Ŭ·¡½º")
   ]
   coclass Atl16190Ctl
   {
      [±âº»°ª] ÀÎÅÍÆäÀ̽º IAtl16190Ctl;
      [±âº», ¼Ò½º] dispinterface _CircEvents;      / / ****ÀÌ Çϳª
   };
}

Index