2017-05-11 5 views
0

現在の問題が発生しています。 Twain UIを使用して、キャンセルをクリックすると、キャッチ例外には行かず、デバイスを閉じません。私はもう一度UIを開いてスキャンをクリックした場合、それは私はそれが現在の例外を除いて閉じたまま、デバイスオープンできません:11Twain UIでデバイスを閉じる方法

Public Sub AcquireImage() 
    OpenDeviceManager() 
    Dim device As Vintasoft.Twain.Device = devManager.Devices.Find("KODAK Scanner: i1150/i1180") 

    Try 
     snCount = 0 
     imgCount = 0 

     device.ShowUI = True 
     device.Open() ''PROBLEM IS HERE 


     device.PixelType = PixelType.Gray 
     device.Acquire() 

     AddHandler device.ImageAcquired, AddressOf device_ImageAcquired 
     AddHandler device.ScanCompleted, AddressOf device_ScanCompleted 
     AddHandler device.ScanCanceled, AddressOf device_ScanCanceled 
     AddHandler device.ScanFailed, AddressOf device_ScanFailed 

     device.DisableAfterAcquire = True 


    Catch ex As TwainException 
     MessageBox.Show(ex.Message) '' Device is not opened Error code: 11 
     CloseDevice(device) 

     device.Disable() 



     Return 
    End Try 



End Sub 

enter image description here enter image description here

:デバイスは、オープンエラーコードではありません

私が望む回数だけスキャンすることができますが、デバイスステータスが値を変更しないUIでキャンセルを使用したいと思います。

答えて

0

私はこの問題をによって解決し、device.UserInterfaceClosedの追加および削除ハンドラを追加しました。

Private Sub AcquireImage() 
    SetFormUiState(False) 
    OpenDeviceManager() 
    Dim device As Vintasoft.Twain.Device = devManager.Devices.Find("KODAK Scanner: i1150/i1180") 

    Try 

     AddHandler device.ImageAcquired, AddressOf device_ImageAcquired 
     AddHandler device.ScanCompleted, AddressOf device_ScanCompleted 
     AddHandler device.ScanCanceled, AddressOf device_ScanCanceled 
     AddHandler device.ScanFailed, AddressOf device_ScanFailed 
     **AddHandler device.UserInterfaceClosed, AddressOf device_UserInterfaceClosed** 

     snCount = 0 
     imgCount = 0 

     device.Open() 
     device.ShowUI = True 
     device.PixelType = PixelType.Gray 
     device.Acquire() 
     device.DisableAfterAcquire = True 

    Catch ex As TwainException 
     MessageBox.Show(ex.Message) 
     SetFormUiState(True) 
     CloseDevice(device) 
     Return 
    End Try 
End Sub 
関連する問題