저는 ActiveX 컨트롤의 기능을 래핑하는 플러그인 어플리케이션을 만드는 FireBreath 프로젝트를 작업 중입니다. 심지어 ActiveX 컨트롤의 소스 코드가 있습니다.형식 라이브러리를 Visual C++ 프로젝트에 포함시키는 방법은 무엇입니까?
FireBreath 예제 페이지에 제공된 샘플 예제를 기반으로 필자는 필요한 래퍼 클래스를 코딩하여 Active X 컨트롤을 래핑했습니다.
는 ActiveX 컨트롤 프로젝트 정보를 입력 난 firebreath 예에서 다운로드 프로그램이 노출하도록 같은 명령 사용은 firebreath 프로젝트에서 ActiveX 컨트롤의 이벤트 인터페이스, 클래스 및 함수를 호출// Import the ActiveX control's typelib so we can easily call methods, etc.
// on the ActiveX control.
#import "PROGID:FBExampleCtl.xpcmdbutton" no_namespace, raw_interfaces_only$
하지만이 프로그램을 사용하면 헤더에 포함 된 형식 라이브러리를 찾을 수 없다는 오류가 발생합니다.
그래서 내 프로젝트에 activex 컨트롤의 형식 라이브러리를 노출하는 방법을 이해할 수 없으며 내 프로그램의 형식 라이브러리에 정의 된 메서드와 함수도 사용할 수 없습니다.
ps : 1) 또한 Oleview를 설치하여 시스템에 형식 라이브러리가 있는지 확인했습니다. 것과 또한 제가 또한
#import "myrequireddll.dll"
시도 또한 디버깅 환경에서 DLL 경로를 언급)
#import "GUID of the typelibrary". But this also didnot work.
2와 같은 대안을 시도했다. 그러나 컴파일러는 여전히 동일한 오류를 제공하여 파일을 찾을 수 없습니다.
항상 파일 이름을 사용하여 선호 다음 # import를 지시어를 사용하여 직접 헤더 (.H) 파일에 TLB 파일을 가져올 수 있습니다 않고 직접 컴파일러를 기대하는 것은 통해 다시 찾을 수 있습니다 기재. 별도로 또는 임베디드 DLL이있는 경우 .tlb 파일을 지정하십시오. –
@ 한자 Passant 나는 또한 그 방법을 시도했다. 그러나 그것은 내가 추측했던 일을 didnt한다. 문제의 끝에 추가 한 두 번째 부분을 확인하십시오. – kairav