Как решить эту проблему с ошибкой "ссылка на объект не установлена на экземпляр объекта"
В настоящее время я разрабатываю биометрическое приложение, и все, кажется, работает хорошо, пока не доходит до приведенного ниже фрагмента кода. Переменная fs генерирует ошибку " ССЫЛКА на объект не установлена на экземпляр объекта"
Попробуй
Используя ФС как FileStream = ИО.Файл.Open (lblPath.Текст + " / " + txtFoundationNo.Текст +". fpt", IO.FileMode.OpenOrCreate, ИО.Флагами fileaccess.Писать)
Шаблон.Сериализация (fs)
Конец Использования
Поймать ex как исключение
MsgBox(ex. Message, MsgBoxStyle.Восклицание: "Предупреждение Об Ошибке Регистрации!")
Конец Попытки
Что я уже пробовал:
Я пробовал разные способы объявления переменной
Некоторые из опробованных деклараций, как указано ниже, перечислены ниже:
1.
Тусклый fs как новый IO.FileStream(lblPath.Текст + " / " + txtFoundationNo.Текст +". fpt", IO.FileMode.OpenOrCreate, ИО.Флагами fileaccess.Писать)
2.
Тусклый fs как новый IO.FileStream(lblPath.Текст + " / " + txtFoundationNo.Текст +". fpt", IO.FileMode.OpenOrCreate, ИО.Флагами fileaccess.Писать)
Использование fs
Шаблон.Сериализация (fs)
Конец Использования
Я все равно получаю одно и то же сообщение об ошибке.
FranzBe
Попробуйте составить имя файла с помощью path перед вызовом New FileStream и проверьте, указывает ли содержимое переменной на ваш файл.
Dim fileNameWithExtention As String = txtFoundationNo.Текст + ".ФПТ"
Дим fileNameWithPath как String = система.ИО.Путь.Combine (lblPath. Text, fileNameWithExtention)
Тусклый fs как новый IO.FileStream(fileNameWithPath, IO. FileMode.OpenOrCreate, ИО.Флагами fileaccess.Писать)
SamFad
Спасибо за ваш ответ.
Я все еще получаю то же самое сообщение об ошибке
Richard MacCutchan
Вы должны использовать свой отладчик, чтобы пройти через код и точно выяснить, какая ссылка не устанавливается.
SamFad
Благодарю вас сэр,
Я пробовал использовать отладчик по отдельности, но, похоже, не мог точно определить, где именно находится ошибка.
Прежде чем произойдет ошибка, используя отладчик для проверки значений переменной fs, я получу следующие значения:
ФС|{система.ИО.Хранилище FileStream}
* CanRead = = False
* CanSeek = = True
* CanTimeout = = False
* CanWrite = = True
* DefaultBufferSize == 4096
*ERROR_BROKEN_PIPE == 109
*ERROR_NO_DATA == 232
* GENERIC_READ == -214748648
* Ручка = = 1448
*IsAsync = = False
* Длина = = 0
* Позиция = = 0
Есть ли в приведенном выше значении какое-либо значение, которое может служить указателем на возможную причину ошибки?
Richard MacCutchan
В какой строке кода произошла ошибка? Из приведенных выше значений следует, что объект FileStream является допустимым, поэтому вы должны посмотреть дальше.
SamFad
Шаблон.Сериализация (fs)
Richard MacCutchan
Так в чем же ценность шаблона?