ComObjType() [v1.0.91+]

À¯Çü Á¤º¸¸¦ COM °´Ã¼·ÎºÎÅÍ ¿­¶÷ÇÕ´Ï´Ù.

VarType := ComObjType(ComObject)
Name    := ComObjType(ComObject, "Name")
IID     := ComObjType(ComObject, "IID")

¸Å°³º¯¼ö

ComObject

COM °´Ã¼ ¶Ç´Â À¯Çü ÀÖ´Â °ªÀ» ´ã°í ÀÖ´Â Æ÷Àå °´Ã¼.

VarType

°ªÀÇ À¯ÇüÀ» ³ªÅ¸³»´Â Á¤¼ö. ¾Æ·¡ ÂüÁ¶.

Name

ÀÎÅÍÆäÀ̽º À¯Çü À̸§.

IID

ÀÎÅÍÆäÀ̽º À¯ÇüÀ» ³ªÅ¸³»´Â Àü¿ªÀûÀ¸·Î À¯ÀÏÇÑ ½Äº°ÀÚ (GUID)

¹Ýȯ °ª

µÎ ¹ø° ¸Å°³º¯¼ö¸¦ »ý·«Çϸé, Æ÷Àå °´Ã¼¿¡ ´ã±ä variant À¯ÇüÀÇ °ªÀÌ ¹ÝȯµË´Ï´Ù.

µÎ ¹ø° ¸Å°³º¯¼ö°¡ "Name" ¶Ç´Â "IID"ÀÌ°í Æ÷Àå °´Ã¼¿¡ COM °´Ã¼°¡ µé¾î ÀÖÀ¸¸é (variant À¯Çü VT_DISPATCH), ±× COM °´Ã¼ÀÇ À¯Çü À̸§ ¶Ç´Â ±×ÀÇ Ã¹ ÀÎÅÍÆäÀ̽ºÀÇ ½Äº°ÀÚ°¡ ¹ÝȯµË´Ï´Ù.

¸Å°³º¯¼ö°¡ À¯È¿ÇÏÁö ¾Ê°Å³ª ¿¡·¯°¡ ÀϾ¸é, ºó ¹®ÀÚ¿­ÀÌ ¹ÝȯµË´Ï´Ù.

Variant À¯ÇüÀÇ »ó¼öµé

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%