°³Ã¼¿¡ ¿¬°á ÁöÁ¡À» Ãß°¡
ATL ÀÚ½À¼ ¿¬°á ÁöÁ¡¿¡ ´ë ÇÑ Áö¿øÀ» ¾î¶»°Ô ÄÁÆ®·ÑÀ» ¸¸µå´Â ¹æ¹ýÀ» º¸¿© ÁÖ´Â À̺¥Æ® ¹× ¿¬°á point.nbsp;À» ±¸Çö ÇÏ´Â ¹æ¹ýÀ» Ãß°¡ ÇÏ ATL ¿¬°á ÁöÁ¡À» ±¸Çö ÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¼³¸í ÇÕ´Ï´Ù IConnectionPointImpl(&N)¡£
¿¬°á ÁöÁ¡À» ±¸Çö ÇÏ·Á¸é µÎ °¡Áö ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù.:
-
³ª¸¸ÀÇ ¹ß½Å À̺¥Æ® ¼Ò½º (¿¬°á ÁöÁ¡)¸¦ ±¸Çö¡£
-
´Ù¸¥ Çü½Ä ¶óÀ̺귯¸®¿¡ Á¤ÀÇ µÈ ¿¬°á ÁöÁ¡ ÀÎÅÍÆäÀ̽º¸¦ ´Ù½Ã »ç¿ë¡£
¾î´À °æ¿ìÀÌ µç, ¿¬°á ÁöÁ¡ ¸¶¹ý»ç ÀÛ¾÷À» ¼öÇà ÇÏ´Â Çü½Ä ¶óÀ̺귯¸®¸¦ »ç¿ë¡£
¸Þ¸ðnbsp;??.Idl ÆÄÀÏÀ» ´Ù½Ã ÄÄÆÄÀÏÇϰí ÇÏ °í ÄÁÆ®·ÑÀÌ ³ª °³Ã¼¿¡ ¿¬°á ÁöÁ¡À» Ãß°¡ ÇÏ´Â ÀýÂ÷¸¦ ¼öÇà ÇØ¾ß ÇÕ´Ï´Ù dispinterface´Â ´ç½ÅÀÌ ÀÌ¹Ì ¿¬°á ÁöÁ¡À» ±¸Çö ÇÏ´Â ¸Þ¼µå¸¦ Ãß°¡ÇÒ ¶§¸¶´Ù(&N)¡£
ÄÁÆ®·ÑÀÌ ³ª °³Ã¼¿¡ ¿¬°á ÁöÁ¡À» Ãß°¡ ÇÏ·Á¸é
-
.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¸¦ »ý¼º¡£
-
Dispinterface·Î Ãß°¡ [±âº», ¼Ò½º] object.nbsp;¿¡ ´ë ÇÑ coclass ÀÎÅÍÆäÀ̽º ´Ù½Ã ¸»ÇÏÁö¸¸,ÀÌ ÄÁÆ®·Ñ¿¡ ´ë ÇÑ ATL °³Ã¼ ¸¶¹ý»ç¿¡¼ Ư¼º ÅÇ¿¡¼ Áö¿ø ¿¬°áÁ¡ È®ÀζõÀ» ¼±ÅÃÇÑ °æ¿ì ¸¶¹ý»ç »ý¼º µË´Ï´Ù [±âº»°ª, ¼Ò½º] Ç׸ñ. ÀÌ Ç׸ñÀ» ¼öµ¿À¸·Î Ãß°¡ ÇÏ·Á¸é ±½°Ô ÁÙ Ãß°¡(&N):
coclass Ä£±¸ { [±âº»°ª] ÀÎÅÍÆäÀ̽º IBuddy;[±âº», ¼Ò½º] dispinterface DBuddyEvents;}
.Idl ÆÄÀÏ¿¡ ÂüÁ¶¸¦ Circ ATL »ùÇà ¿¹¡£
-
Ŭ·¡½º ºä ¸¦ »ç¿ë ÇÏ ¿© À̺¥Æ® ÀÎÅÍÆäÀ̽ºÀÇ ¸Þ¼µå ¹× ¼Ó¼º Ãß°¡¡£
-
ÈÄ´Â dispinterface ¿ÏÀüÈ÷ Á¤ÀÇ µÈ FileView .idl ÆÄÀÏÀ» ¸¶¿ì½º ¿À¸¥ÂÊ ´ÜÃ߷ΠŬ¸¯ ÇÏ °í ÄÄÆÄÀÏ option.nbsp;¸¦ ¼±Åà ÇÏ ¿©.idl ÆÄÀÏ ÄÄÆÄÀÏ ÀÌ Çü½Ä ¶óÀ̺귯¸®¸¦ »ý»êÇÒ ¿¹Á¤ ÀÌ´Ù(&N)¡£
-
Ŭ·¡½º ºä ¿¡¼ Ŭ·¡½º¸¦ ¸¶¿ì½º ¿À¸¥ÂÊ ´ÜÃ߷ΠŬ¸¯ ÇÏ °í ±¸Çö ¿¬°á ÁöÁ¡...¸¦ ¼±Åà ÇÕ´Ï´Ù. ´ëÈ »óÀÚ¿¡´Â Çϳª ÀÌ»óÀÇ Çü½Ä ¶óÀ̺귯¸® ÅÇ Ç¥½Ã µË´Ï´Ù. ¹× °¢ ÅÇ¿¡´Â ÇØ´ç type library.nbsp;¿¡ ´ë ÇÑ ÀÎÅÍÆäÀ̽º Ç¥½Ã µË´Ï´Ù. ÀÎÅÍÆäÀ̽º¸¦ ¼±Åà ÇÏ °í È®ÀÎÀ» ´©¸¨´Ï´Ù °æ¿ì(&N):
-
À̺¥Æ®¿¡ ´ë ÇÑ ¹ß½Å Àüȸ¦ ÇÒ °ÍÀÔ´Ï´Ù Äڵ带 ±¸Çö ÇÏ´Â À̺¥Æ® ÇÁ·Ï½Ã Ŭ·¡½º¸¦ »ç¿ë ÇÏ ¿© Çì´õ ÆÄÀÏÀ» »ý¼º¡£
-
¿¬°á ÁöÁ¡ ¸Ê¿¡ Ç׸ñ Ãß°¡¡£
-
ÁÖ¼® ¹× # error (NULL ¸Å°³ º¯¼ö´Â dispID ÁÖ¼Ò·Î ¹Ù²Ü °ÍÀÎÁö ¸»Çϰí) IProvideClassInfo2Impl ¸Å°³ º¯¼ö ¸ñ·Ï¿¡ Ãß°¡¡£
Computer.nbsp;¿¡ ¸ðµç typelibÀÇ ¸ñ·Ï¿¡ Ç¥½Ã µË´Ï´Ù ÇÏÁö Çü½Ä ¶óÀ̺귯¸®¸¦ ¸¸µç °æ¿ì ¸¸ ´Ù¸¥ typelib¿¡ Á¤È®ÇÑ µ¿ÀÏÇÑ ³ª°¡´Â ÀÎÅÍÆäÀ̽º¸¦ ±¸Çö ÇÏ·Á´Â °æ¿ì ¿¬°á ÁöÁ¡À» Á¤ÀÇ ÇÏ ÀÌ·¯ÇÑ ´Ù¸¥ typelib Áß Çϳª¸¦ »ç¿ë ÇØ¾ß ÇÕ´Ï´Ù.? CoclassÀÇ ±âº» ¼Ò½º ÀÎÅÍÆäÀ̽º ¾øÀÌ typelib¸¦ ±¸Ãà ÇÏ´Â °æ¿ì ´ëÈ »óÀÚ º¸°í Çü½Ä ¶óÀ̺귯¸®¿¡ ÀûÇÕ (¼Ò½º) ÀÎÅÍÆäÀ̽º ¾øÀ½ °æ°í ¸Þ½ÃÁö°¡ Ç¥½Ã µË´Ï´Ù(&N).
´Ù¸¥ °³Ã¼ÀÇ Çü½Ä ¶óÀ̺귯¸®¿¡¼ °¡Á®¿Â ¿¬°á ÁöÁ¡À» ±¸Çö ÇÏ·Á¸é
-
ClassView¿¡ BEGIN_COM_MAP ¸ÅÅ©·Î ±¸Çö Çϴ Ŭ·¡½º¸¦ ¸¶¿ì½º ¿À¸¥ÂÊ ´ÜÃ߷ΠŬ¸¯ ÇÏ °í ¹Ù·Î °¡±â ¸Þ´º¿¡¼ ¿¬°á ÁöÁ¡ ±¸Çö ¼±Åá£
-
±¸Çö ¿¬°á ÁöÁ¡ ´ëÈ »óÀÚ¿¡¼ Ãß°¡ Typelib¿¡...¡£
-
»ç¿ë °¡´ÉÇÑ Çü½Ä libraries.nbsp; Áß Çϳª¿¡¼ ¼±Åà Çü½Ä ¶óÀ̺귯¸®¸¦ ¼±ÅÃÇÑ ÈÄ Çü½Ä ¶óÀ̺귯¸®¿¡¼ »ç¿ë °¡´ÉÇÑ ÀÎÅÍÆäÀ̽º ¸ñ·ÏÀ» ³ªÅ¸³³´Ï´Ù(&N).
-
»ç¿ëÇÒ ¼ö ÀÖ´Â ÀÎÅÍÆäÀ̽º Áß Çϳª ÀÌ»óÀ» ¼±Åà ÇÏ °í È®ÀÎ À» Ŭ¸¯¡£
-
.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; / / ****ÀÌ Çϳª
};
}