2016-09-15 13 views
0

キーボード入力を継続的にスキャンし、入力をQRコードに変換するZXingを使用してプログラムを書き込もうとしています。このQRコードは、BarcodeReaderクラスを使用して読み取られます。 BarcodeReaderは、オブジェクトを含むサブルーチンが完了した後でも、このファイルのリソースを保持します。これにより、QRコードがまだ使用されているため、既存のQRコードを上書きする新しいQRコードを保存することができなくなります。この問題を解決するために、クラスのデストラクタを呼び出そうとしましたが、見つけられないものはありません。この問題の助けがあれば幸いです。以下のコードはデストラクタを呼び出す場所です。ZXing Barcode Writerデストラクタ

'Read any 2D Barcode, this will only ever be a QR code for this project 
Private Function read2D(location As String) 
    Dim reader = New ZXing.BarcodeReader() 
    Try 
     Dim result = reader.Decode(Bitmap.FromFile(location)) 
     Return "Succesfully Read 2D Barcode:" + result.ToString 
    Catch ex As Exception 
     Return "Error Reading 2D Barcode" 
    End Try 
End Function 

答えて

0

ロックを保持しているのはBarcodeReaderではありません。 Bitmap.FromFileから取得したビットマップインスタンスを破棄する必要があります。 https://msdn.microsoft.com/en-us/library/4sahykhd(v=vs.110).aspx

+0

ありがとうございました。私はデストラクタを呼び出してガベージコレクションを強制しました。それは完璧に働いた! –

関連する問題