ObjAddRef() / ObjRelease() [AHK_L 53+]

객체의 참조 횟수를 줄이거나 늘립니다.

ObjAddRef(Ptr)
ObjRelease(Ptr)

매개변수

Ptr

관리되지 않는 객체 포인터 또는 COM 인터페이스 포인터.

반환 값

이 함수들은 새로운 참조 횟수를 돌려줍니다. 이 값은 디버깅 목적으로만 사용해야 합니다.

참조횟수 세기

다음 글들은 COM에 적용될 때의 참조 횟수를 다루고 있지만, 일반적으로 오토핫키 객체에도 적용되는 중요한 개념과 규칙을 언급합니다: IUnknown::AddRef, IUnknown::Release, 참조 횟수 규칙.

예제

Retrieves the pointer of an object and increments the reference count. 자세한 것은 객체를 가리키는 포인터를 참조하십시오.

obj := Object()

; 다음 두 줄은 동등합니다:
ptr1 := Object(obj)
ptr2 := ObjectToPointer(obj)

ObjectToPointer(obj) {
    if !IsObject(obj)
        return ""
    ptr := &obj
    ObjAddRef(ptr)
    return ptr
}

; Object() 또는 ObjectToPointer()를 통하여 열람된 포인터는 각각 수작업으로 풀어주어야 합니다.
; 그래야 객체가 영원히 해제되며 사용된 메모리도 돌려줄 수 있습니다.
ObjRelease(ptr2)
ObjRelease(ptr1)

For another example, see ComObjConnect().