Vista 64 비트의 Winforms 창에서의 MFC Active-X 컨트롤; "등록되지 않은 클래스 예외"

StackOverflow https://stackoverflow.com/questions/1807230

문제

WinForms 창에서 호스팅 된 ActiveX 컨트롤에서 키 처리를위한 또 다른 SO SO 포스터 제안을 확인하려고 시도하면서 Bare-Bones MFC ActiveX 컨트롤을 만들어 Windows 형태에 배치했습니다. 설계 시간에는 제어가 문제없이 나타났습니다.

애플리케이션을 실행할 때는 "등록되지 않은 예외"가 두려운 것입니다. 대화 상자가 나타납니다.

두 프로젝트 모두 VS 2008에 있습니다. WinForms 앱은 .NET 3.5 프레임 워크 응용 프로그램입니다.

Explorer (두 경우 모두 고상한 특권)에서 디버거를 실행하려고 시도했지만 아무것도 작동하지 않았습니다. 심지어 64 비트 및 32 비트 regsvr32 실행 파이브로 OCX를 수동으로 등록했습니다.

이것은 내가 이것을 기대하지 않기 때문에 당황했다 ~ 아니다 운영. 문제없이 직장에서 비슷한 실험 (32 비트 Windows XP Box)을 수행했습니다.

내 VS 구성은 다음과 같습니다.

  • Microsoft Visual Studio 2008
  • 버전 9.0.30729.1 sp
  • Microsoft .net 프레임 워크
  • 버전 3.5 SP1

    가장 혼란스러운 비트는 ActiveX 컨트롤이 설계 시간에 나타나는 것 같습니다. 모든 대답, 제안 또는 생각은 감사 할 것입니다.

도움이 되었습니까?

해결책

.NET 호스트의 출력을 "모든 플랫폼"대신 X86으로 변경해야했습니다. 이는 응용 프로그램이 ActiveX 컨트롤이 컴파일되지 않은 x64에 JUTED가 있기 때문에 필요합니다. 오! ActiveX 호스트 프로젝트로 변경 한 후 앱은 제대로 실행되었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top