문제

나는 많은 기계에서 잘 작동 한 소프트웨어가 있지만, 한 기계에 가끔 발생하는 문제가 있지만 Menustrip 및 Toolstrip은 모두 적십자로 적십자로 빈 흰색 배경으로 나타납니다. 당신이 널 객체를 만들었다면. 이것은 디버깅하는 동안 발생하지 않으며 문제가 다시 발생하는 방법을 모르지만 발생합니다. 누군가 문제가 무엇인지 알고 있는지 궁금합니다.

.NET 프레임 워크의 버전일까요?

감사

도움이 되었습니까?

해결책

이것은 GDI+ 문제가있을 때 일반적으로 발생합니다 ( "죽음의 빨간색 X"). 당신은 어떤 사용자 정의 도면을하고 있습니까? OnPaint? 또는 아마도 손상되거나 부적절하게 폐기되는 그래픽 리소스 또는 글리프가있을 수 있습니다.

편집하다: 나는 당신의 질문을 다시 읽었습니다. 당신은 이것을 기계 중 하나에만 가지고있는 것 같습니다. 나는 이것을 위해 조금 멍청했고, 나는 우연히 발견했다 이 오래된 실. 맨 아래의 게시물은 가상 메모리가 꺼져있는 문제가있을 수 있음을 시사합니다.

우리는 이것을 해결했습니다 - 우리는 XP가 포함 된 장치에서 문제를보고있었습니다. XPE 이미지 개발자는 가상 메모리를 끄고 문제가 켜지 자마자 문제가 사라졌습니다. 그래픽을 표시하기 위해 메모리가 부족한 시스템의 증상 일 뿐이라고 생각합니다 (특히 이중 버퍼링을 많이 사용하는 경우).

도움이되기를 바랍니다.

다른 팁

증상처럼 들립니다 메모리 예외 나에게.

편집하다:때로는 a로 이어질 수 있습니다 System.InvalidOperationException: BufferedGraphicsContext

GUI 스레드 이외의 스레드에서 GUI 컨트롤을 업데이트하려고합니까? 크로스 스레드 작동을 모든 것을 삼킨 예외 핸들러와 결합하고 우리는 내가 유지하고있는 앱에서 당신이 설명하는 동작 (Menustrip 막대가 아닌 그리드 제어)을 가지고있었습니다.

확실히 크로스 스레드 문제처럼 들립니다.

기본 UI 스레드가 아닌 스레드에서 컨트롤 및/또는 발사 이벤트에 액세스 할 때 호출을 사용해야합니다.

이것이 우리의 자랑스러운 사람들이있는 1000 개 이상의 컴퓨터에서만 발생합니다. 이 하나의 컴퓨터에서 나는 .NET 3.5 프로그램이 때로 Datagrid에 빨간색 X를 표시하는 것을보고 있습니다. 그리고 또 다른 훨씬 간단한 .NET 2.0 프로그램은 멘스 립에 빨간색 X를 얻었습니다. 더 간단한 프로그램에 대한 소스 코드 만 있지만 해당 구성 요소에 영향을 미치는 사용자 코드가 전혀 없다고 말할 수 있습니다. 아무것도 업데이트되지 않기 때문에 크로스 스레드 물건이 없습니다. 컨텐츠는 프로그램로드에서 하나의 항목이 추가 된 상태에서 개발 시간에 설정됩니다. Red X 고장은 프로그램로드 후 잘되었습니다.

나는 두 가지 다른 프레임 워크와 데이터 바인딩이없는 하나의 프로그램에서 문제를보고 매우 놀랐습니다. 컴퓨터에 가상 메모리가 꺼져 있기를 바랍니다.

그렇지 않은 경우 .NET 2.0 및 .NET 3.5에서 공유되는 시스템 부품에 대한 지침에 감사드립니다.

업데이트 : 문제가있는 사용자는 컴퓨터를 은퇴하고 교체했습니다 (문제 해결).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top