ComObjFlags() [v1.0.96.00+]

COM Æ÷Àå °´Ã¼ÀÇ ÇàÀ§¸¦ Á¦¾îÇÏ´Â Ç÷¡±×¸¦ ¿­¶÷Çϰųª ¹Ù²ß´Ï´Ù.

Flags := ComObjFlags(ComObject [, NewFlags, Mask])

¸Å°³º¯¼ö

ComObject

COM Æ÷Àå °´Ã¼.

NewFlags

Mask·Î ½Äº°µÇ´Â ÇÁ·¡±×¿¡ ´ëÇÑ »õ °ª, ¶Ç´Â Ãß°¡Çϰųª ´õÇÒ Ç÷¡±×.

Mask

¹Ù²Ü ºñÆ®¸¶½ºÅ© Ç÷¡±×.

Flags

ComObject°´Ã¼ÀÇ ¸ðµç Ç÷¡±× (ÁöÁ¤Çϸé, NewFlags°¡ Àû¿ëµÈ ÈÄÀÇ).

Flags

F_OWNVALUE
1
ÇöÀç´Â ¿ÀÁ÷ SafeArrays¿¡¸¸ ¿µÇâÀ» ÁÝ´Ï´Ù. ÀÌ Ç÷¡±×°¡ ¼³Á¤µÇ¸é, SafeArray´Â Æ÷Àå °´Ã¼°¡ ÇØÁ¦µÉ ¶§ Æı«µË´Ï´Ù. SafeArrays´Â ÂüÁ¶ Ƚ¼ö ¼¼±â ¸ÞÄ¿´ÏÁòÀÌ ¾øÀ¸¹Ç·Î, ¸¸¾à ÀÌ Ç÷¡±×¸¦ °¡Áø SafeArray°¡ ¶Ç´Ù¸¥ SafeArrayÀÇ ÇÑ ¿ø¼Ò¿¡ ÇÒ´çµÇ¸é, µû·Î »çº»ÀÌ »ý¼ºµË´Ï´Ù.

ÃÑÆò

Mask¸¦ »ý·«Çϸé, NewFlags´Â (¾ç¼öÀ̸é) ´õÇÒ Ç÷¡±×, (À½¼öÀ̸é) Á¦°ÅÇÒ Ç÷¡±×¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ComObjFlags(obj, -1)´Â F_OWNVALUE Ç÷¡±×¸¦ Á¦°ÅÇÕ´Ï´Ù. Mask¿¡´Â 0À̳ª 1¸»°í ´Ù¸¥ °ªÀ» ÁöÁ¤ÇÏÁö ¸¶½Ê½Ã¿À; ´Ù¸¥ ¸ðµç ºñÆ®´Â ¹Ì·¡¿¡ »ç¿ëÇÒ ¸ñÀûÀ¸·Î ¿¹¾àµÇ¾î ÀÖ½À´Ï´Ù.

°ü·Ã Ç׸ñ

ComObjActive, ComObjArray

¿¹Á¦

; ¿¹Á¦: 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"