Delphi에서 ConnectionPoint는 어떻게합니까?
-
21-08-2019 - |
문제
Idispatch 인터페이스를 통해 Excel과 대화하는 DLL을 작성하고 있습니다. VBA에서 나는 변형을 포함하는 변형을 통과합니다 Application.Caller
이곳에서 나는 Idispatch 포인터를 통해 그려집니다 .pDispVal
.
내가 알고 싶은 것은 Idispatch 포인터를 통해 인터페이스를 쿼리하는 방법입니다. 연결 포인트 컨테이너를 설정하고 싶고 거기에서 Excel의 연결 지점을 찾습니다. 궁극적 인 목표는 물건을 Excel의 이벤트를 계산하고 Excel 데이터를 조작 할 수있는 것입니다.
해결책
Binh Ly의 시대를 초월한 우수 (Delphi) COM 튜토리얼을 추천합니다. http://www.techvanguards.com/ 여기에는 전적으로 헌신 된 장이 포함됩니다 IConnectionPoint
및 관련 메커니즘.
또한 Eventsink 코드를 생성하기위한 무료 도구를 제공합니다.
그래도, 나는 당신이 원하는 모든 것이 Excel에 의해 트리거 된 이벤트에 반응한다면 이것이 전혀 필요하지 않다는 느낌을 가지고 있습니다. Application
물체. 델파이 타입 라이브러리 수입업자가 생성하는 래퍼 객체를 사용해 보셨습니까? 물론 자신의 포장지도 쓸 수도 있습니다.
그런 다음 다시, 나는 실제로 Excel을 위해 Addins를 작성하지 않았지만, 나는 Addins를 전망을 위해 addin을 작성하고 살아있는 단어와 Excel은 실제로이 점에서 크게 다르지 않아야합니다.