VB6 응용 프로그램을 컴파일하려고하는데 "런타임 오류 '91': Object variable 또는 With 블록 변수가 설정되지 않았습니다."오류로 실패합니다. 컴파일 중에 사용자 정의 컨트롤의 Resize 이벤트가 발생하고 인스턴스화되지 않은 개체에 액세스하려고 시도하는 코드가 나타납니다.VB6 앱을 컴파일하는 동안 이벤트가 실행되는 이유는 무엇입니까?
왜 컴파일하는 동안 이벤트가 발생하며 중지 할 수있는 방법이 있습니까?
편집 : 여기 몇 가지 코드를 가지고 있지만, 관련 아니에요. 이 문제는 UserControl 코드 (예 : Initialize, ReadProperties, Resize 및 WriteProperties 이벤트)가 예기치 않은 시간에 실행할 수 있다는 사실 때문에 발생합니다. 이러한 이벤트의 코드가 다른 코드를 사용하여 데이터 구조를 초기화하는 경우 초기화 코드가 실행되지 않았기 때문에 실패 할 가능성이 큽니다. 특히 컴파일 중에 아무 것도 실행되지 않아야합니다! 나는 이것을 버그라고 부르 겠지만, 마이크로 소프트가 어떻게 든 그것을 합리화 할 수 있다고 확신한다.
당신의 컴파일 코드의 특정 블록에 지점합니까 (디버그시를)? 그렇다면 여기에 붙여 넣을 수 있습니까? 또한 빌드를 실행 한 다음 실행을 시도 할 때 폭탄을 생성하는 "빌드 및 실행"이 아니라고 확신합니까? (따라서 런타임 오류)? – JasCav