2011-10-12 2 views
1

그룹의 일부인 3 개의 .vbp 프로젝트가 있습니다.VB6 프로젝트 참조

나는 3과 2의 DLL을 만들 수 있어요 그리고 내가 2

그러나 프로젝트의 올바른 DLL에 하나의 프로젝트 참조를 설정하고 1

의 DLL을 만들고 싶어 할 때 , 내가 변경 사항을 저장하고 다시 vbg 파일을 엽니 다. 내가 변경 한 참조는 표시되지 않으며 dll의 다른 버전으로 되돌아갑니다.

저는 COM에서 일했기 때문에 앞으로 나아갈 수 없습니다. 모든 입력 또는 지원은 높이 평가됩니다.

답변

7

ActiveX 나 COM DLL과 EXE를 참조 할 때 VB6가 GUID와 Windows 레지스트리에서 올바르게 작동하기 때문에 실제로 사용되는 DLL이나 EXE 파일을 거의 제어 할 수 없습니다. VB6와 ActiveX를 사용하고 또한 당신의 정신을 지키는 열쇠는 바이너리 호환성을 이해하는 것입니다. (http://www.vbsight.com/BinaryComp.htm 참조).

여기에서 ActiveX/COM 프로젝트에 대한 내 충고 (여부 EXE, DLL 또는 OCX) :

(1) 이진 호환성 설정에 대해 알아보세요.

(2) 참조 실행 파일에 Project1.dll.cmp와 같은 .cmp 접미사를 붙이는 것이 좋습니다. 바이너리 호환성을 살펴보면 무슨 뜻인지 알 수 있습니다.

(3) VirtualPC에서 VB6 ActiveX 프로젝트를 개발하십시오. VB6 ActiveX 개발은 Windows 레지스트리에 많은 마모를줍니다.

(4) ActiveX 개체를 찾을 수있는 이유가있을 때 참조 = 설정의 DLL/EXE/OCX에 대한 파일 경로가 변경됩니다. 레지스트리에서 찾은 모든 항목 (최신 항목을 등록)과 함께 갈 것입니다. 또한 변경할 수있는 프로젝트 속성을 설정하는 "ActiveX 컨트롤 업그레이드"가 있습니다.

(5) 적절한 이진 호환성 관리를 통해 얻을 수있는 정도를 제외하면 VB6에서 생성하는 GUID 또는 형식 라이브러리를 거의 제어 할 수 없습니다.

0

VB6에서 컴파일하는 DLL/OCX에 이진 호환성 옵션을 사용하면 기존 VB6 프로젝트의 참조가 사용자가 다시 컴파일 한 후에 손상됩니다. 우리는이 '문제점'을 많이 다루었 기 때문에 우리는 VB6 Project References Update Utility을 구현하여 기존 .vbp 프로젝트에있는 ActiveX에 대한 참조를 자동으로 대체했습니다. 이 유틸리티는 무료이며 오픈 소스이며, 비슷한 상황에서 다른 사용자에게 많은 시간을 절약 할 수 있습니다.