2012-06-25 6 views
6

오랫동안 컴파일하지 않은 vb6 코드가 있습니다. 마지막 컴파일은 제작 중입니다. 이제 전체 컴파일을 수행 할 때 "사용자 정의 유형이 정의되지 않았습니다."오류가 발생합니다. 참조가 누락되었습니다 (). 그러나 하이라이트 코드는 없습니다. 그리고 어떤 참고 문헌을 잃어 버렸는지 찾을 수없는 것 같습니다.전체 컴파일시 vb6 사용자 정의 유형이 정의되지 않았습니다.

누락 된 참조를 찾으려면 어떻게해야하는지에 대한 단서가 매우 유용 할 것입니다.

감사합니다.

데이브

당신은 당신이 참조 대화 상자에서 확인 적절한 항목이 있는지 확인해야합니다
+2

'Option Explicit On'을 시도해 보셨습니까 – Shahzeb

+1

변수 정의를 붙여 주실 수 있습니까? 필요한 참조 (필요한 경우)를 식별하는 데 도움이됩니다. – ZnArK

+1

약 250 개의 양식, 클래스 및 모듈이있는 프로젝트입니다. 문제가되는 영역 만 게시하도록 코드를 좁힐 수 있다면 좋을 것입니다. 그러나 그렇게 할 방법이 없습니다. 그리고 네, 옵션 명시 적으로 모든 곳에 설정됩니다. –

답변

3

. 이는 코드 외부에 있으며 VBP 파일 (text file)에 나열되어 있습니다.

수정 수정 된 참조 저장. 감사합니다 MarkJ

+0

예 ... 문제는 이미 확인 된 약 40 개의 항목과 그렇지 않은 LOTS가 있다는 것입니다. 그리고 그 오류는 더 이상의 정보를 제공하지 못합니다. 참조가 누락 된 위치를 찾는 방법을 찾고 있습니다. –

+1

참조 창에 "(누락)"접미사가있는 참조 창이있을 수 있습니다. – Deanna

+1

참조는 IDE에 의해 어떻게 든 처리됩니다. VBP 파일에 나열됩니다. [VB6 설명서의 설명에 따라] 텍스트 파일입니다 (http://msdn.microsoft.com/en-us/library/aa716294 (v = 60)). 버전 관리에 VBP가 있습니까? 마지막 컴파일을 빌드하는 데 사용 된 VBP를 살펴보고 지금 참조되지 않은 항목이 있는지 여부를 확인할 수 있습니까? – MarkJ

4

그것이 미치게하기 전에 나는 일어났습니다! 그러나 나는이 발견 : 이진 호환성을 컴파일 할 때

http://support.microsoft.com/kb/190197

가 발생합니다. 위의 솔루션은 바이너리 호환성을 해제하고 다시 컴파일하는 것을 제안합니다. 그런 다음 누락 된 참조가 강조됩니다. 최근

  • 검색 C를 변경 한 사람을 찾아 모든 것을 BC를 끄는 것보다 오히려

    • 을 : 드라이브와 dev에 폴더를하고 * .oca 파일을 삭제

      다른 단계 당신은 시도 할 수 있습니다 어떤 OCA는

  • +1

    호환성 참조 인 경우 바이너리를 덮어 쓰는 데 문제가있을 수도 있습니다. 마지막으로 만들어진 릴리즈 바이너리를 다른 폴더에 복사하고 그 대신 호환성을 설정하십시오. –

    +0

    예 좋은 점 - 나는 항상 별도의 릴리스 폴더를 가지고있다. –

    0

    는 개체 유형의 모든 잘 입력했는지 확인 참조를 위해

  • 도 VBP 파일을 찾습니다. VariantVarient과 같은 간단한 오류로 인해이 오류가 발생할 수도 있습니다.

  • +0

    하지만 강조해야한다. – Deanna

    +0

    Office 2007 (강조 표시하지 않음) – leeand00

    0

    원본 컴파일과 동일한 컴퓨터 또는 여전히 동일한 OS를 사용하고 있습니까 ?

    대답이 '아니오'인 경우 VB6 등이 Win7 이상에서 사용할 수없는 참조에 링크 될 가능성이 있습니다. 최신 버전의 Studio를 사용하는 경우 컴파일러도 포함될 수 있습니다.

    외부 상용 제어를 사용하는 경우 코드가 VB6이기도하고 동일한 컴퓨터에없는 경우 다시 코드가 있으므로 라이브러리를 통해 포팅하지 않은 경우 해당 링크도 느슨해집니다.

    관련 문제