Q&A

  • IDispatch에 대해....
비주얼 베이직으로 dll을 만들어 델파이에서 사용하다보니 변수선언에서 IDispatch라는 것이 나오네요. 그런데 비베에서는 변수타입이 object입니다. 어떻게 해결해야할지...

2  COMMENTS
  • Profile
    김일영 2000.07.15 09:49
    저런... 제가 요새 비슷한걸 해봐서 고충을 압니다...

    상황은 매우 여러가지일 수 있는데 Invoke를 직접 호출해주어야 하는 수가 있습니다.

    그런데 아마도 이렇게 되는 경우 dispid를 알 수가 없는 상황일겁니다.

    저도 그 문제로 엄청나게 고민했는데 사실 어떻게 해야 할지 잘 모릅니다...

    그렇지만, 실제 그 Object에 대한 보다 구체적인 dispinterface가 정의되어 있을 수도

    있습니다. 한번 Type Library Import Unit (xxx_TLB.pas)를 보시고, 해당 object에

    대한 dispinterface 정의가 있는가 살펴보세요. 통밥(?)이 좀 필요합니다.

    그래서... 대입을 하는 경우라면 그 dispinterface 타입 그대로 대입하면 되고요,

    그런 경우에도 그런 코드가 나오는지 모르겠지만... object를 받아오는 경우라면

    해당 dispinterface로 타입캐스팅하면 될겁니다.

    에구... 저도 무슨 소린지 잘 모르겠습니다만 하여간 도움이 되길 바랍니다...

    =================================================================================

    김태영 wrote:

    > 비주얼 베이직으로 dll을 만들어 델파이에서 사용하다보니 변수선언에서 IDispatch라는 것이 나오네요. 그런데 비베에서는 변수타입이 object입니다. 어떻게 해결해야할지...

  • Profile
    최용일 2000.07.15 00:42
    안녕하세요. 최용일입니다.



    델파이에서도 COM을 지원합니다. 물론 IDispatch인터페이스도 지원을 하구요...



    ^^ 항상 즐코하세요.



    김태영 wrote:

    > 비주얼 베이직으로 dll을 만들어 델파이에서 사용하다보니 변수선언에서 IDispatch라는 것이 나오네요. 그런데 비베에서는 변수타입이 object입니다. 어떻게 해결해야할지...