ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 컬렉션 - ATL
    ActiveX/Automation 2009. 3. 3. 23:05
    클라이언트는 루트 개체가 제공하는 읽기 전용의 속성을 통하여 컬렉션 개체에 접근하게 된다.


    루트 개체
    읽기 전용 속성의 컬렉션 개체를 노출

        interface ICompany : IDispatch
        {
            [propget, id(1), helpstring("property Employees")] HRESULT Employees([out, retval] VARIANT *pVal);
        };

    컬렉션 개체
    클래스 팩토리 관련 내용은 제거한다.

    .Count
    .Item[]
    ._NewEnum
    [.Add()]
    [.Remove()]

        interface IEmployees : IDispatch
        {
            [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
            [propget, id(DISPID_VALUE), helpstring("property Item")] HRESULT Item([in] long index, [out, retval] VARIANT *pVal);
            [propget, id(DISPID_NEWENUM), helpstring("property _NewEnum")] HRESULT _NewEnum([out, retval] LPUNKNOWN *pVal);
        };

    멤버 항목 개체
    클래스 팩토리 관련 내용은 제거한다.

    다른 컬렉션 개체를 제공할 수 있다.

        interface IEmployee : IDispatch
        {
            [propget, id(1), helpstring("property Name")] HRESULT Name([out, retval] BSTR *pVal);
            ...
        };

Designed by Tistory.