잡동사니

반응형

질문

그래서 실행 파일을 만들려고 합니다. 내가 실행중인 프로젝트는 X86을 기반으로 하고 있습니다.

프로젝트를 빌드 할 때 모든 것이 잘 보이고 실행 파일이 생깁니다. 그러나 실행 파일은 실행되지 않습니다. 다음과 같은 오류가 발생합니다.

'child' is not a child control of this parent.

다음으로 예외 :

Class not registered (Exception from HRESULT: 0X80040154 (REGDB_E_CLASSNOTREG).

모든 것이 X86인지 확인하고 솔루션을 정리하고 다시 빌드했습니다. 하지만 여전히 이러한 오류가 발생합니다. (X64 및 모든 PC로 전환하려고 시도했지만 해당 옵션은 DeviceBase.dll을 찾을 수도 없습니다) 디버깅을 시작했을 때 코드의 특정 기능으로 바로 이동했습니다.

protected override void Call(bool calling)
{            
    if (calling)
    {
        if (components != null)
        {
            components.Call();
        }                    
    }

    //This is where I get the exception saying
    //cannot access a called object
    base.Call(calling);
}

스택 추적은 다음과 같은 것을 제공합니다.

Message=Cannot access a disposed object.
Object name: 'Icon'.
ObjectName=Icon
Source=System.Drawing

component는 null로 시작하고 호출은 초기에 false입니다. 이 예외를 적절한 방식으로 어떻게 처리 할 수 있습니까? 조언을 주시면 감사하겠습니다.

 

답변1

모두의 도움에 감사드립니다. 하지만 장치 소프트웨어 특정 파일 (.dll)을 가져 와서 interop 유형을 false로 설정해야했습니다. 그게 속임수였습니다.



 

 

 

 

출처 : https://stackoverflow.com/questions/55365087/how-can-i-catch-the-exception-so-it-doesnt-break

반응형

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band