Q&A

  • ActiveForm이 특정 인터페이스 구현하도록 하기
안녕하세요.



델파이5를 이용하여 ActiveForm형식으로 ActiveX 컨트롤을 만들고 있습니다.

그런데 이 컨트롤을 다른곳에서 사용하려고 합니다.

코드상에서 타입라이브러리 사용을 자제하기 위해,

AtlGetObjectSourceInterface() 를 사용하여 ActiveX의 정보를

얻어오는데요,

이 API (?) 를 사용하기 위해서는 ActiveX 컨트롤이

IProvidelassInfo나 IPersist 를 구현해야 한다고 합니다.

델파이에서는 ActiveForm에 이 인터페이스의 구현코드를

어떻게 작성해야 할지 잘 모르겠습니다.



***델파이의 ActiveXForm에 특정 인터페이스를 상속,구현할 수 있는 방법이

궁금합니다.***



아시는 분 계시면 많은 도움 부탁드립니다. ^^



즐거운 하루 되세요

1  COMMENTS
  • Profile
    최용일 2000.04.05 06:42
    안녕하세요. 최용일입니다.



    흠... AtlGetObjectSourceInterface 이 함수가 어떤것인지는 잘 모르겠지만



    인터페이스를 추가해서 구현하려면 클래스선언에 상속할 인터페이스를 써주고



    인터페이스의 메소드를 구현하시면 됩니다.



    TActiveFormX = class(TActiveForm, IActiveFormX, IPersist)

    // IPersist 인터페이스 추가

    ...

    ...

    // IPersist 인터페이스 메소드

    function GetClassID(out classID: TCLSID): HResult; stdcall;

    ...

    end;



    implementation



    function TActiveFormX.GetClassID(out classID: TCLSID): HResult;

    begin

    ... // 인터페이스 메소드 구현.

    end;



    ...



    end.



    이동현 wrote:

    > 안녕하세요.

    >

    > 델파이5를 이용하여 ActiveForm형식으로 ActiveX 컨트롤을 만들고 있습니다.

    > 그런데 이 컨트롤을 다른곳에서 사용하려고 합니다.

    > 코드상에서 타입라이브러리 사용을 자제하기 위해,

    > AtlGetObjectSourceInterface() 를 사용하여 ActiveX의 정보를

    > 얻어오는데요,

    > 이 API (?) 를 사용하기 위해서는 ActiveX 컨트롤이

    > IProvidelassInfo나 IPersist 를 구현해야 한다고 합니다.

    > 델파이에서는 ActiveForm에 이 인터페이스의 구현코드를

    > 어떻게 작성해야 할지 잘 모르겠습니다.

    >

    > ***델파이의 ActiveXForm에 특정 인터페이스를 상속,구현할 수 있는 방법이

    > 궁금합니다.***

    >

    > 아시는 분 계시면 많은 도움 부탁드립니다. ^^

    >

    > 즐거운 하루 되세요