ComObjFlags()
提供: AutoHotkey Wiki
実行制御 | GUI表示 | 演算・変数 | メモリ・DLL操作 | 文字列操作 |
キーボード | マウス | シェル | ウィンドウ | ウィンドウグループ
ステータスバー | コントロール | サウンド | ファイル | INIファイル |
レジストリ | 環境変数 | AutoHotkey | その他 | 設定関係 | オブジェクト
ComObjFlags() [v1.0.96.00+][編集]
AHKL COMラッパーオブジェクトの動作を取得またはフラグを変更する。
Flags := ComObjFlags(ComObject [, NewFlags, Mask])
Parameters[編集]
引数名 | 説明 |
---|---|
ComObject | COMラッパーオブジェクト。 |
NewFlags | Maskの識別フラグの新しい値。またはフラグを追加または削除する。 |
Mask | フラグのビットマスクを変更する。 |
Flags | すべてのComObjectフラグ。(NewFlagsを適用した後、指定した場合) |
Flags[編集]
F_OWNVALUE 1 |
現在SafeArraysのみに影響する。このフラグが設定されているラッパーオブジェクトが解放されると、SafeArrayのは破棄される。SafeArraysには参照カウント機構を持っていないので、このフラグのSafeArrayが別のSafeArrayの要素に割り当てられている場合は、別のコピーが作成される。 |
Remarks[編集]
Maskを省略した場合、NewFlags フラグを指定する。追加 (正の場合) または 削除(負の場合)
例えば、ComObjFlags(obj, -1)
F_OWNVALUEフラグを削除する。
Maskには 0
または 1
以外の任意の値を指定しないこと、他のすべてのビットは将来の使用のために予約されている。
Related[編集]
Example(s)[編集]
; Example: Check for the presence of the F_OWNVALUE flag.
arr := ComObjArray(0xC, 1)
If ComObjFlags(arr) & 1
MsgBox arr will be automatically destroyed.
Else
MsgBox arr will not be automatically destroyed.
; Example: Change array-in-array behaviour.
arr1 := ComObjArray(0xC, 3) arr2 := ComObjArray(0xC, 1) arr2[0] := "original value" arr1[0] := arr2; Assign implicit copy.
ComObjFlags(arr2, -1); Remove F_OWNVALUE.
arr1[1] := arr2; Assign original array.
arr1[2] := arr2.Clone(); Assign explicit copy.
arr2[0] := "new value" For arr in arr1 MsgBox % arr[0] arr1 := ""; Not valid since arr2 == arr1[1], which has been destroyed:
; arr2[0] := "foo"