Можно ли скрыть сообщение об ошибке, сгенерированное VBS-скриптом? - PullRequest
0 голосов
/ 13 января 2019

У меня есть настройки приложения, которое открывает компорт, чтобы начать чтение данных с GPS. Теперь, когда я использую GPS-приемник Bluetooth, порт не всегда открывается с первого раза. Если происходит сбой, выдается сообщение «Ошибка 121 при попытке открыть коммуникационный порт COM (номер компорта):»

Теперь, когда это происходит, я могу проверить, сработала ли команда, и не запустила ли ее снова ... (см. Код для кнопки ниже). Однако она отображает ошибку.

Это имитирует то, что происходит, когда вы делаете это вручную ... иногда требуется несколько попыток подключения стека Bluetooth к GPS ... Хотя ошибка не отображается ...

В любом случае, это работает, но было бы замечательно не показывать сообщение об ошибке во время, когда компорт не открывается ...

Любые предложения приветствуются и приветствуются.

Примечания:

-Программа работает без проблем на всем, кроме новых устройств, которые должны использовать стек Microsoft Bluetooth.

-Если эта ошибка раздражает, система работает по-другому, а когда соединение Bluetooth выполнено после 1-3 попыток, все хорошо ...

-Перед тем, как я добавил "On Error Resume Next", процесс будет останавливаться всякий раз, когда соединение не будет установлено.

Sub subGPSOnOffButton
    'turns the GPS and tracklog on (or off) from a custom button...
    'if the gps is on, make sure the user  wants it off...
    'if the gps is off, turn it on, and tell the user when done.
    Dim iRes
    If Application.GPS.IsOpen = True Then
        iRes = msgbox("GPS is already on!" & vbnewline & vbnewline & "Turn it off?", vbYesNo, "GPS Active:")
        If iRes = 6 then
            Application.GPS.Close()         
        Else 
            Exit Sub
        End if
    Else
        subGPSOn
        msgbox "GPS is now on!", vbOKOnly, "GPS Active:"
    End If
End Sub
Sub subGPSOn
    On Error Resume Next
    Do While Application.GPS.IsOpen = False
        ' Turn the GPS on
        Application.GPS.Open()                                          
    Loop
    ' Turn the tracklog on
    Application.ExecuteCommand("gpstracklog")                       
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...