2010-03-19 48 views
0

我有2個像下面這樣的子,當我用1000次迭代和capturePicture()在其中進行循環時。經過700次迭代後,事件不再發生。 任何人都可以幫助我嗎?事件在一個循環中停止觸發

Public Sub capturePicture() 
     Try 
      AddHandler capturePic.FrameEvent2, AddressOf CaptureDone 
      capturePic.GrapImg() 
      Threading.Thread.Sleep(270) 
     Catch ex As Exception 
      RemoveHandler capturePic.FrameEvent2, AddressOf CaptureDone 
     End Try 
    End Sub 


Private Sub CaptureDone(ByVal e As Bitmap) 
     Try 
      Me.PictureBox1.Image = e 
      PictureBox1.Image.Save(MakeFileNameWithAutoIncrement(MakeFolderNameForCurrentDate(MyFolderName) + "\" + MyTimeStampDatumVrijeme() + "_" + Filename4Cam + "-CAM1(" + CamEvent + ").JPG"), System.Drawing.Imaging.ImageFormat.Jpeg) 
      RemoveHandler capturePic.FrameEvent2, AddressOf CaptureDone 
     Catch ex As Exception 
      RemoveHandler capturePic.FrameEvent2, AddressOf CaptureDone 
     End Try 
    End Sub 
+0

Thread.Sleep調用的目的是什麼? –

+0

如果我們刪除thread.sleep,我們只拍攝一張照片。 thread.sleep使我們能夠正常運行循環。 – user109285

回答

1

.NET有非常好和可靠的方式來告訴你,這裏有些不對勁。但是,當你捕捉異常並且不做任何事情讓用戶(或你)知道什麼是錯誤的時候,它就停止工作。你的catch語句隱藏了各種嚴重的問題,如OutOfMemory。

調試+異常,檢查「公共語言運行時異常」並運行您的程序。

相關問題