2014년 4월 23일 수요일

VB6 IDE on Windows 7 64bit "Object library not registered"


윈도우 7 64비트에서

VB6 프로젝트 로드 중에 에러가 발생합니다

로드 중 에러가 발생하고 프로젝트 폴더내에 윈폼의 log 파일이 생성되는데

Class MSComctlLib.StatusBar of control sbStatusBar was not a loaded control class.

Class MSComctlLib.TabStrip of control tbsOptions was not a loaded control class.

이런 내용의 로그가 남습니다

해외에서는 아직 VB6 사용한 프로젝트가 꽤 있는 듯해서 같은 문제에 대한 이슈 제기가

일찍 부터 있었습니다

검색어 "64bit windows object library not registered"

VBForum
http://www.vbforums.com/showthread.php?716089-Windows-7-64-bit-Library-Not-Registered-problem

Microsoft Commuity
http://answers.microsoft.com/en-us/ie/forum/ie10-windows_7/common-controls-do-not-load-in-vb6-after-ie10/484d3294-162c-41d8-b349-1c90dff9b36b

내용은 IE 10 업데이트 이후 발생했고 특별한 해결 방법은 찾지 못했음

IE 10을 언인스톨하면 해결이 됨

하지만 개인적인 경험에 의하면 IE 언인스톨은 깔끔하게 이루어지지 않기 때문에

다른 방법을 검색

CodeJock 이라는 제품 포럼에서 힌트 발견
http://forum.codejock.com/forum_posts.asp?TID=22141

관리자 권한 명령 프롬프트 실행 후
cd C:\Windows\SysWOW64 (C:\Windows\System32 for 32 bit system)
regtlib msdatsrc.tlb
regsvr32 mscomctl.ocx
regsvr32 mscomct2.ocx



등록하고 VB6 프로젝트 오픈 후 프로젝트 구성(Components) 수정을 합니다

이것으로도 해결이 안되어서

프로젝트 vbp 파일을 오픈 후

Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.1#0; MSCOMCTL.OCX

를 아래처럼 수정

Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; mscomctl.ocx

저장한 후 해결



댓글 없음:

댓글 쓰기