Vb.net код пропуска строк
Привет, у меня проблема с vb. Программа пропускает строки кода.
Это работает в другой программе я сделал но в этой программе это не работает
Программа идет с "на ошибки.." напрямую "Дим ФРМ.." и затем "продолжить открытие"
Есть идеи?
On Error GoTo WriteError If My.Settings.IsFirstRun Then Dim frm As New frmActivation frm.ShowDialog() My.Settings.IsFirstRun = False Else Dim sm As New SecurityManager If sm.CheckKey(frmActivation.PasswordDecrypt(tActivationKey, tEncryptionKey)) Then Else Dim frm As New frmActivation frm.ShowDialog() End If End If con.Open() ..
Что я уже пробовал:
Я попытался удалить обработчик ошибок.
RickZeeland
Вы уверены, что у вас есть настройки, определенные на вкладке "Проект - настройки"?
Member 14131979
Да. Дважды проверил. Удалил его и снова сказал это.
Richard MacCutchan
Шаг через код с помощью отладчика, чтобы вы могли видеть фактические значения всех переменных, на которые ссылаются в ваших операторах if.
Dave Kreskowiak
Это не пропуск строк кода. Это может выглядеть так, но это не так.
И почему, черт возьми, вы используете "On Error Goto" - это VB.NET приложение? Это старый способ VB6 или делать вещи, которые существуют только для обратной совместимости импортированного кода. Он не должен использоваться в новых разработках.
Отладчик покажет вам, что он не пропускает строки кода. Это покажет вам, что вы не понимаете, что делает код. Отладчик существует для того, чтобы отлаживать вас и показывать Вам, что происходит на самом деле.
CPallini
Вы использовали On Error GoTo
заявление. Такой statememt пропускает строки кода всякий раз, когда возникает ошибка. То WriteError
, чтобы почтить свое собственное имя, должен дать вам соответствующую информацию об ошибке.
cigwork
> Если см.CheckKey(frmActivation.PasswordDecrypt(tActivationKey, tEncryptionKey))
На основе фрагмента, показанного при любом запуске после FirstRun frmActivation будет null (nothing), когда будет выполнена строка выше. Учитывая это, я бы ожидал, что будет выброшено исключение нулевой ссылки. Это плюс доисторическая обработка ошибок goto, вероятно, даст интересные результаты.
Если код действительно переходит от попытки открыть диалоговое окно активации при первом запуске к открытию соединения, то это означает, что форма активации закрывается без какого-либо взаимодействия с пользователем, поэтому возникает условие ошибки в frmActivation, возможно, проглатывается исключение, в результате чего форма закрывается до того, как она имеет шанс что-либо отобразить.