2010-05-28 2 views
0

C# 프로젝트에서 생성 된 .tlb 파일을 가져 오는 C++ DLL이 있습니다. C++ DLL은 해당 C# 함수를 호출하는 함수가 포함 된 래퍼 DLL입니다.Windows 7 Pro 32 비트에서 .tlb 파일 생성

프로젝트를 빌드 한 컴퓨터에서 C++ 함수를 호출하면 모두 정상적으로 작동합니다. 그러나 DLL을 복사하고 생성 된 tlb를 동일한 정확한 버전의 Windows 및 설치된 프로그램이있는 다른 컴퓨터에 복사하고 C++ 함수를 호출하면 COM 오류가 발생합니다. 그러나 새 컴퓨터에서 프로젝트를 다시 컴파일하면 모든 것이 다시 작동합니다.

두 프로젝트 모두에서 "모든 컴퓨터에서 작업"을 이미 확인했으나 계속 발생합니다. DLL이 모든 컴퓨터에서 작동하려면 어떻게해야합니까?

답변

2

당신이 얻는 HRESULT는 이것을 진단하는 것이 중요합니다. 추측을 강요당한 경우 : 해당 컴퓨터에서 Regasm.exe를 실행 했습니까? COM이 서버를 찾을 수 있도록 필요한 레지스트리 항목을 만드는 데 필요합니다. IDE에서 빌드하면 자동으로 실행됩니다.

+0

나는 이것을 한 번 더 해보려고 노력할 것이다. 나는 내일 이것을 알릴 것이다. 빠른 응답 주셔서 감사합니다! –

+0

HRESULT에 관해서는 먼저 파이썬 프로젝트를 사용하여 C++ 함수를 호출하는 이유를 알지 못합니다. HRESULT를 보려면 어떻게해야합니까? –

+0

괜찮은 진단을받지 못하면 C++ 디버거를 사용해야합니다. 내 추측이 맞다면 내일은 실패하지 않을 것이다. –

관련 문제