COM Æ÷Àå °´Ã¼ÀÇ ÇàÀ§¸¦ Á¦¾îÇÏ´Â Ç÷¡±×¸¦ ¿¶÷Çϰųª ¹Ù²ß´Ï´Ù.
Flags := ComObjFlags(ComObject [, NewFlags, Mask])
COM Æ÷Àå °´Ã¼.
Mask·Î ½Äº°µÇ´Â ÇÁ·¡±×¿¡ ´ëÇÑ »õ °ª, ¶Ç´Â Ãß°¡Çϰųª ´õÇÒ Ç÷¡±×.
¹Ù²Ü ºñÆ®¸¶½ºÅ© Ç÷¡±×.
ComObject°´Ã¼ÀÇ ¸ðµç Ç÷¡±× (ÁöÁ¤Çϸé, NewFlags°¡ Àû¿ëµÈ ÈÄÀÇ).
F_OWNVALUE 1 |
ÇöÀç´Â ¿ÀÁ÷ SafeArrays¿¡¸¸ ¿µÇâÀ» ÁÝ´Ï´Ù. ÀÌ Ç÷¡±×°¡ ¼³Á¤µÇ¸é, SafeArray´Â Æ÷Àå °´Ã¼°¡ ÇØÁ¦µÉ ¶§ Æı«µË´Ï´Ù. SafeArrays´Â ÂüÁ¶ Ƚ¼ö ¼¼±â ¸ÞÄ¿´ÏÁòÀÌ ¾øÀ¸¹Ç·Î, ¸¸¾à ÀÌ Ç÷¡±×¸¦ °¡Áø SafeArray°¡ ¶Ç´Ù¸¥ SafeArrayÀÇ ÇÑ ¿ø¼Ò¿¡ ÇÒ´çµÇ¸é, µû·Î »çº»ÀÌ »ý¼ºµË´Ï´Ù. |
Mask¸¦ »ý·«Çϸé, NewFlags´Â (¾ç¼öÀ̸é) ´õÇÒ Ç÷¡±×, (À½¼öÀ̸é) Á¦°ÅÇÒ Ç÷¡±×¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ComObjFlags(obj, -1)
´Â F_OWNVALUE Ç÷¡±×¸¦ Á¦°ÅÇÕ´Ï´Ù. Mask¿¡´Â 0À̳ª 1¸»°í ´Ù¸¥ °ªÀ» ÁöÁ¤ÇÏÁö ¸¶½Ê½Ã¿À; ´Ù¸¥ ¸ðµç ºñÆ®´Â ¹Ì·¡¿¡ »ç¿ëÇÒ ¸ñÀûÀ¸·Î ¿¹¾àµÇ¾î ÀÖ½À´Ï´Ù.
; ¿¹Á¦: F_OWNVALUE Çñ׷¡°¡ ÀÖ´ÂÁö Á¡°ËÇÕ´Ï´Ù. arr := ComObjArray(0xC, 1) if ComObjFlags(arr) & 1 MsgBox arrÀº ÀÚµ¿À¸·Î Æı«µË´Ï´Ù. else MsgBox arr´Â ÀÚµ¿À¸·Î Æı«µÇÁö ¾Ê½À´Ï´Ù.
; ¿¹Á¦: ¹è¿-¾ÈÀÇ ¹è¿ ÇàÀ§ ¹Ù²Ù±â. arr1 := ComObjArray(0xC, 3) arr2 := ComObjArray(0xC, 1) arr2[0] := "original value" arr1[0] := arr2 ; ¹¬½ÃÀû »çº»À» ÇÒ´çÇÕ´Ï´Ù. ComObjFlags(arr2, -1) ; F_OWNVALUE¸¦ Á¦°ÅÇÕ´Ï´Ù. arr1[1] := arr2 ; ¿øº» ¹è¿À» ÇÒ´çÇÕ´Ï´Ù. arr1[2] := arr2.Clone() ; ¸í½ÃÀû »çº»À» ÇÒ´çÇÕ´Ï´Ù. arr2[0] := "new value" for arr in arr1 MsgBox % arr[0] arr1 := "" ; arr2 == arr1[1]À̱⠶§¹®¿¡ À¯È¿ÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ¹Ì Æı«µÇ¾ú½À´Ï´Ù: ; arr2[0] := "foo"