none
Ошибка RRS feed

  • Общие обсуждения

  • Добрый день. При выводе текста в элемент управления иногда появляется ошибка:

    В среде выполнения обнаружена критическая ошибка. Ошибка произошла по адресу 0x792e8127 в потоке 0x9fc. Код ошибки 0xc0000005. Она может быть вызвана ошибкой в CLR или в небезопасных либо не поддающихся проверке фрагментах пользовательского кода. Обычно источниками таких ошибок бывают ошибки упаковки, допускаемые пользователями при COM-взаимодействии, либо PInvoke, повредивший стек.

    Как вылечить такое поведение?

    12 ноября 2012 г. 10:56

Все ответы

  • А что и как Вы используете, что создаёте?
    12 ноября 2012 г. 18:52
    Модератор
  • я получаю ответ из COM порта и вывожу результат в элемент управления через функцию.

    Вот сама функция

        Private Sub SetText(ByVal text As String)

            If myFormControl1.StatusTextbox.InvokeRequired Then
                Dim d As New SetTextCallback(AddressOf SetText)
                myFormControl1.Invoke(d, New Object() {text})
            Else
                myFormControl1.StatusTextbox.Text += CStr(text) & vbCrLf
            End If
        End Sub

    13 ноября 2012 г. 9:13
  • никто с такой ошибкой не сталкивался?  Мне кажется, что в какой-то dll сбой.
    19 ноября 2012 г. 8:06
  • Я не очень понял что делает вызов
    CStr(text)
    в Вашем случае. По-моему, должно быть просто text.

    19 ноября 2012 г. 8:51
  • Привет.

    Для чтения данных вы используете класс SerialPort? Возможно вы забываете закрыть подключение к порту перед открытием нового?


    Для связи [mail]

    23 ноября 2012 г. 8:14
  • Ну да, я использую класс RS232. Программа у меня многопоточная, но использование одного и того же порта параллельно не допускается, все распределяется по приоритетам потоков.

    Иногда также бывает ошибка Unable to open COM + номер порта

    При создании нового потока ком порт я открываю так

    CommPort.Open(nPort, 57600, 8, Rs232.DataParity.Parity_None, Rs232.DataStopBit.StopBit_1, 4096)

    после окончания работы с ком портом, закрываю

    Comport.Close()

    Как можно решить данную проблему? И может вышеуказанная ошибка из этого и вытекает?

    9 декабря 2012 г. 13:40