2013-08-29 3 views
0

Windows 7에서 작동하지만 Windows XP에서는 작동하지 않는 C# 응용 프로그램이 있습니다. 프로그램 창을 닫으려고하면 프로그램이 충돌합니다. 창을 닫을 때 추가 기능이 없으며 상위 창에서 결과를 기다리지 않습니다. 여기 Windows XP에서 응용 프로그램 예외

예외이다

System.InvalidOperationException : 컬렉션이 변경시켰다 열거 연산이 실행되지 않을 수 있습니다. System.ThrowHelper.ThrowInvalidOperationException (ExceptionResource 자원)에서
System.Collections.Generic.List 1.Enumerator.MoveNextRare()
at System.Collections.Generic.List
1.Enumerator.MoveNext() Microsoft.VisualBasic.PowerPacks.ShapeCollection.Dispose에서
(부울 폐기) 마이크로 소프트
에서
.VisualBasic.PowerPacks.ShapeContainer.Dispose (부울 배치) System.ComponentModel.Component.Dispose()에서 System.Windows.Forms.Control.Dispose
에서
(부울 배치)에서 System.Windows.Forms.Form
.Dispose (부울 처리)
at DataManager.EmailSetting sForm.Dispose는 C로 (부울 폐기) : \ 사용자 \ PC_Jeff_1 바탕 화면 \ \ sensors_file1 \ DataManagerv3.1 EmailSettingsForm.Designer.cs \ System.Windows.Forms.Form.WmClose에서 라인 (24)
(메시지 & m)
System.Windows.Forms.Form.WndProc (메시지 & m) System.Windows.Forms.Control.ControlNativeWindow.OnMessage에서
(메시지 & m) System.Windows.Forms.Control.ControlNativeWindow.WndProc에서
(메시지에서 &m)
에서 System.Windows.Forms.NativeWindow.Callback (IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

+0

당신이 임의의 텍스트의 벽을 포맷시겠습니까? – chrylis

+2

'c : \ Users \ PC_Jeff_1 \ Desktop \ sensors_file1 \ DataManagerv3.1 \ EmailSettingsForm.Designer.cs' –

+0

'보호 무시 void Dispose (bool 처분) 의'Dispose (bool disposing) if (disposing) { if (components! = null) { components.Dispose(); } } base.Dispose (disposing); }' –

답변

0

처분에 try 블록을 추가했으며 그 문제가 더 이상 없지만 문제가 여전히 여기에 있다고 생각합니다.

블록 :

protected override void Dispose(bool disposing)` 
    { 
     try 
     { 
      if (disposing) 
      { 
       if (components != null) 
       { 
        components.Dispose(); 
       } 
      } 
      base.Dispose(disposing); 
     } 
     catch 
     { 

     } 
    } 
관련 문제