À¯Çü Á¤º¸¸¦ COM °´Ã¼·ÎºÎÅÍ ¿¶÷ÇÕ´Ï´Ù.
VarType := ComObjType(ComObject) Name := ComObjType(ComObject, "Name") IID := ComObjType(ComObject, "IID")
COM °´Ã¼ ¶Ç´Â À¯Çü ÀÖ´Â °ªÀ» ´ã°í ÀÖ´Â Æ÷Àå °´Ã¼.
°ªÀÇ À¯ÇüÀ» ³ªÅ¸³»´Â Á¤¼ö. ¾Æ·¡ ÂüÁ¶.
ÀÎÅÍÆäÀ̽º À¯Çü À̸§.
ÀÎÅÍÆäÀ̽º À¯ÇüÀ» ³ªÅ¸³»´Â Àü¿ªÀûÀ¸·Î À¯ÀÏÇÑ ½Äº°ÀÚ (GUID)
µÎ ¹ø° ¸Å°³º¯¼ö¸¦ »ý·«Çϸé, Æ÷Àå °´Ã¼¿¡ ´ã±ä variant À¯ÇüÀÇ °ªÀÌ ¹ÝȯµË´Ï´Ù.
µÎ ¹ø° ¸Å°³º¯¼ö°¡ "Name" ¶Ç´Â "IID"ÀÌ°í Æ÷Àå °´Ã¼¿¡ COM °´Ã¼°¡ µé¾î ÀÖÀ¸¸é (variant À¯Çü VT_DISPATCH), ±× COM °´Ã¼ÀÇ À¯Çü À̸§ ¶Ç´Â ±×ÀÇ Ã¹ ÀÎÅÍÆäÀ̽ºÀÇ ½Äº°ÀÚ°¡ ¹ÝȯµË´Ï´Ù.
¸Å°³º¯¼ö°¡ À¯È¿ÇÏÁö ¾Ê°Å³ª ¿¡·¯°¡ ÀϾ¸é, ºó ¹®ÀÚ¿ÀÌ ¹ÝȯµË´Ï´Ù.
VT_EMPTY = 0 ; °ª ¾øÀ½ VT_NULL = 1 ; SQL-½ºÅ¸ÀÏÀÇ ³Î VT_I2 = 2 ; 16-ºñÆ® À¯ºÎÈ£ Á¤¼ö VT_I4 = 3 ; 32-ºñÆ® À¯ºÎÈ£ Á¤¼ö VT_R4 = 4 ; 32-ºñÆ® ºÎµ¿ ¼Ò¼öÁ¡ ¼ö VT_R8 = 5 ; 64-ºñÆ® ºÎµ¿ ¼Ò¼öÁ¡ ¼ö VT_CY = 6 ; ÈÆó VT_DATE = 7 ; ³¯Â¥ VT_BSTR = 8 ; COM ¹®ÀÚ¿ (°íÁ¤ ±æÀÌÀÇ À¯´ÏÄÚµå ¹®ÀÚ¿) VT_DISPATCH = 9 ; COM °´Ã¼ VT_ERROR = 0xA ; ¿¡·¯ ÄÚµå (32-ºñÆ® Á¤¼ö) VT_BOOL = 0xB ; ºÒ¸®¾ð True (-1) ¶Ç´Â False (0) VT_VARIANT = 0xC ; VARIANT (¹Ýµå½Ã VT_ARRAY ¶Ç´Â VT_BYREF¿Í Á¶ÇÕÇØ »ç¿ëÇØ¾ß ÇÔ) VT_UNKNOWN = 0xD ; IUnknown ÀÎÅÍÆäÀ̽º Æ÷ÀÎÅÍ VT_DECIMAL = 0xE ; (Áö¿ø ¾ÈÇÔ) VT_I1 = 0x10 ; 8-ºñÆ® À¯ºÎÈ£ Á¤¼ö VT_UI1 = 0x11 ; 8-ºñÆ® ¹«ºÎÈ£ Á¤¼ö VT_UI2 = 0x12 ; 16-ºñÆ® ¹«ºÎÈ£ Á¤¼ö VT_UI4 = 0x13 ; 32-ºñÆ® ¹«ºÎÈ£ Á¤¼ö VT_I8 = 0x14 ; 64-ºñÆ® À¯ºÎÈ£ Á¤¼ö VT_UI8 = 0x15 ; 64-ºñÆ® ¹«ºÎÈ£ Á¤¼ö VT_INT = 0x16 ; À¯ºÎÈ£ ¸Ó½Å Á¤¼ö VT_UINT = 0x17 ; ¹«ºÎÈ£ ¸Ó½Å Á¤¼ö VT_RECORD = 0x24 ; »ç¿ëÀÚ-Á¤ÀÇ À¯Çü -- Áö¿øÇÏÁö ¾ÊÀ½ VT_ARRAY = 0x2000 ; SAFEARRAY VT_BYREF = 0x4000 ; ¶Ç´Ù¸¥ À¯ÇüÀÇ °ªÀ» °¡¸®Å°´Â Æ÷ÀÎÅÍ /* VT_ARRAY¿Í VT_BYREF´Â ¶Ç´Ù¸¥ °ª°ú Á¶ÇÕÇÏ¿© (ºñÆ®º° ORÀ» »ç¿ë) Á¤È®ÇÑ À¯ÇüÀ» ÁöÁ¤ÇÕ´Ï´Ù. ¿¹¸¦ µé¸é, 0x2003´Â 32-ºñÆ® À¯ºÎÈ£ Á¤¼ö·Î ±¸¼ºµÈ SAFEARRAY·Î ½Äº°µÇ°í 0x400C´Â VARIANT¸¦ °¡¸®Å°´Â Æ÷ÀÎÅÍ·Î ½Äº°µË´Ï´Ù. */
´ëºÎºÐÀÇ °æ¿ì, COM °´Ã¼ÀÇ ¸Þ½îµå³ª Ư¼ºÀ¸·ÎºÎÅÍ ¹ÝȯµÈ °ªÀº ¿ÀÅäÇÖÅ°°¡ Áö¿øÇÏ´Â ÀûÀýÇÑ µ¥ÀÌÅÍ À¯ÇüÀ¸·Î º¯È¯µË´Ï´Ù. ±¸Ã¼ÀûÀ¸·Î 󸮰¡ µÇÁö ¾Ê´Â À¯ÇüÀº VariantChangeType¸¦ ÅëÇÏ¿© °Á¦·Î ¹®ÀÚ¿·Î º¯È¯µË´Ï´Ù; ÀÌ°ÍÀÌ ½ÇÆÐÇϰųª variant À¯Çü¿¡ VT_ARRAY ¶Ç´Â VT_BYREF Ç÷¡±×°¡ µé¾î ÀÖ´Ù¸é, ´ë½Å¿¡ °ª°ú ±×ÀÇ À¯ÇüÀ» ¸ðµÎ ´ã°í ÀÖ´Â °´Ã¼°¡ ¹ÝȯµË´Ï´Ù.
¸ðµç º¯¼ö x¿¡ ´ëÇÏ¿©, ¸¸¾à ComObjType(x)
°¡ Á¤¼ö¸¦ µ¹·ÁÁÖ¸é, x¿¡´Â COM °´Ã¼ Æ÷ÀåÀÚ°¡ µé¾î ÀÖ½À´Ï´Ù.
ComObjValue, ComObjCreate, ComObjGet, ComObjActive
d := ComObjCreate("Scripting.Dictionary") VarType := ComObjType(d) ; ¾ðÁ¦³ª 9´Â ½ºÅ©¸³Æ®¸¦ È£ÃâÇÒ ¼ö ÀÖ´Â °´Ã¼¸¦ ¶æÇÕ´Ï´Ù. Name := ComObjType(d, "Name") ; ½ºÅ©¸³Æ² È£ÃâÇÒ ¼ö ÀÖ´Â °´Ã¼¿¡¸¸ À¯È¿ÇÕ´Ï´Ù. IID := ComObjType(d, "IID") ; À§¿Í °°½À´Ï´Ù. MsgBox Variant type:`t%VarType%`nType name:`t%Name%`nInterface ID:`t%IID%