2016-09-15 2 views
0

Я пытаюсь написать программу с ZXing, которая постоянно сканирует ввод с клавиатуры, преобразовывая вход в QR-код. Этот QR-код затем считывается с использованием класса BarcodeReader. BarcodeReader хранит ресурсы для этого файла, даже после того, как подпрограмма, содержащая объект, завершена. Это не позволяет мне сохранить новый QR-код, который перезаписывает существующий QR-код, потому что он все еще используется! Чтобы решить эту проблему, я попытался вызвать деструктор для класса, но я не могу найти. Любая помощь по этому вопросу будет принята с благодарностью. Ниже приведен код, в котором должен быть вызван деструктор.ZXing Barcode Writer Destructor

'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

Спасибо, я вызвал деструктор, а затем принудительно собрал мусор. Это сработало отлично! –

Смежные вопросы