Mscomm32 ocx что это
Перейти к содержимому

Mscomm32 ocx что это

  • автор:

Русские Блоги

Использование элемента управления MSCOMM32.OCX в среде Win7

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

В ходе испытания было установлено, что последовательный порт нельзя использовать в среде Win7 (ошибка 8015 — Не удалось установить состояние связи . ). Последовательный порт компьютера не работает? Чтобы определить проблему, компьютер восстановил образ XP. С программным обеспечением проблем нет, что указывает на исправность последовательного порта. Подозревается, что это проблема с драйвером последовательного порта (хотя устройство отображается как нормальное в управлении устройством), и оно было восстановлено в системе Win7. Я не нашел никаких новых драйверов. Я только что установил USB на последовательный порт. После установки драйвера оборудования я могу нормально прочитать вес. , Нет проблем с оборудованием, нет проблем с программным обеспечением, кажется, что это действительно проблема с драйверами.

В ноутбуке, используемом отделом пользователя, используется 64-разрядная версия Win7. Последовательный порт нельзя использовать после регистрации. Это все равно должно быть проблемой с драйвером. Я подозреваю, что драйвер нельзя использовать в 64-разрядных системах. Ни в коем случае не переустанавливайте систему как 32-битную Win7, тестируйте последовательный порт, можно использовать, нет проблем с считыванием веса. Однако была обнаружена ошибка несоответствия типов переменных, поэтому мне пришлось установить VB6 Lite, и исходная программа отладки обнаружила, что это была ошибка при создании объекта Excel. Когда Excel был клонирован в системе, это могло быть проблемой с переменными пути или среды. Способ переустановить офис, проблема решена.

Напомним, использование элемента управления MSCOMM32.OCX

Программное обеспечение использует элемент управления MSCOMM32.OCX, который необходимо зарегистрировать, прежде чем его можно будет использовать. Вот сценарий регистрации пакета:

@echo начать регистрироваться
copy MSCOMM32.OCX %windir%\system32\
regsvr32 %windir%\system32\MSCOMM32.OCX /s
mscomm32.reg
@echo MSCOMM32.OCX успешно зарегистрирован
@pause

После регистрации найдите Microsoft Control 6.0 на детали в меню проекта VB6. Вы видите, что файл, расположенный ниже, является местоположением файла OCX, как показано ниже:

После подтверждения панели управления вы можете найти элемент управления, похожий на телефон, и перетащить этот элемент управления в форму, чтобы запрограммировать его для достижения последовательной связи, как показано ниже:

Приложение: Подробное объяснение использования MSComm control

Элемент управления MSComm передает и принимает данные через последовательный порт, чтобы обеспечить функции последовательной связи для приложений. Элемент управления MSComm очень удобен при программировании последовательных портов, программистам не нужно тратить время на понимание более сложных функций API, и его можно использовать в VC, VB, Delphi и других языках. Microsoft Communications (в дальнейшем именуемый MSComm) — это элемент управления ActiveX, предоставляемый Microsoft, который упрощает программирование последовательной связи под Windows и предоставляет приложениям простой способ отправлять и получать данные через последовательный интерфейс. В частности, он предоставляет два метода для решения проблем связи: один — это метод, управляемый событиями, а другой — метод запроса.
1. MSComm контролирует два способа управления связью
Элемент управления MSComm предоставляет два следующих способа управления связью: управляемый событиями и запрос.

1.1 Подход, основанный на событиях
Управляемая событиями связь является очень эффективным методом обработки взаимодействия через последовательный порт. Во многих случаях вам необходимо получать уведомление, когда происходит событие, например, когда в приемном буфере последовательного порта есть символ, или когда символ прибывает или происходит изменение в строке Carrier Detect (CD) или Request ToSend (RTS). В этих случаях вы можете использовать событие OnComm элемента управления MSComm для захвата и обработки этих событий связи. Событие OnComm также может проверять и обрабатывать ошибки связи. Список всех событий связи и ошибок связи см. В свойстве CommEvent. В процессе программирования вы можете добавить свой собственный код обработки в функцию обработки событий OnComm. Преимущество этого метода заключается в том, что программа отвечает быстро и имеет высокую надежность. Каждый элемент управления MSComm соответствует последовательному порту. Если приложению требуется доступ к нескольким последовательным портам, необходимо использовать несколько элементов управления MSComm.

1.2 Как сделать запрос
Метод запроса по сути основан на событиях, но в некоторых случаях этот метод более удобен. После каждой ключевой функции программы вы можете запрашивать события и ошибки, проверяя значение свойства CommEvent. Если приложение небольшое и самоокупаемое, этот метод может быть предпочтительным. Например, если вы пишете простую программу набора номера по телефону, вам не нужно генерировать событие для каждого полученного символа, потому что единственный символ, ожидающий получения, — это ответ «ОК» модема.

2. Общие атрибуты элемента управления MSComm
Элемент управления MSComm имеет много важных атрибутов, но сначала вы должны быть знакомы с несколькими атрибутами.
CommPort устанавливает и возвращает номер порта связи.
Настройки Установите и верните скорость передачи, четность, биты данных и стоп-биты в виде символьных строк.
PortOpen устанавливает и возвращает состояние порта связи. Вы также можете открывать и закрывать порты.
Ввод возвращает и удаляет символы из буфера приема.
Выходные данные Записать строку в буфер передачи.
Соответственно описано следующее:

атрибуты CommPort
Установите и верните номер порта связи.
Синтаксис
object.CommPort[ = value ]
Синтаксис атрибута CommPort включает в себя следующие части:
описание раздела
объект Выражение объекта, значением которого является объект в списке «относится к».
value Целочисленное значение, обозначающее номер порта.
Инструкции
Во время проектирования значение может быть установлено на любое число от 1 до 16 (значение по умолчанию равно 1). Однако если вы используете свойство PortOpen для открытия несуществующего порта, элемент управления MSComm выдаст ошибку 68 (устройство недопустимо).
Предупреждение. Перед открытием порта необходимо установить свойство CommPort.
тип данных
Integer

Свойства настроек
Установите и верните параметры скорости передачи, четности, бит данных и стоп-бит.
Синтаксис
object.Settings[ = value]
Синтаксис атрибута Настройки включает в себя следующие части:
описание раздела
Выражение объекта , значение которого является объектом в списке «относится к».
Значение Строковое выражение, указывающее значение настройки порта связи, как описано ниже.
Инструкции
Когда порт открыт, если значение недопустимо, элемент управления MSComm генерирует ошибку 380 (недопустимое значение атрибута).
Значение состоит из четырех значений настройки в следующем формате:
"BBBB,P,D,S"
BBBB — это скорость передачи, P — четность, D — количество битов данных, а S — количество стоп-битов. Значение по умолчанию:
"9600,N,8,1"
В следующей таблице перечислены допустимые скорости передачи:
Установите значение
110
300
600
1200
2400
9600 (по умолчанию)
14400
19200
28800
38400
56000
128000
256000

В таблице ниже показано значение допустимого паритета.
Значение настройки Описание
E четное число (четное)
M mark (Марк)
N По умолчанию (по умолчанию)
None
Нечетное число (Нечетное)
S пробел (пробел)

В следующей таблице перечислены допустимые значения битов данных.
Установите значение
4
5
6
7
8 (по умолчанию)

В следующей таблице перечислены допустимые значения стоп-битов.

настройки
1 (по умолчанию)
1.5
2

тип данных
String
Пример настроек
В следующем примере устанавливается связь через порт управления, скорость передачи 9600 бод, без проверки четности, 8 бит данных, 1 стоповый бит:
MSComm1.Settings = "9600,N,8,1"

Свойства PortOpen
Установите и верните статус коммуникационного порта (включен или выключен). Недействительно во время разработки.
Синтаксис
object.PortOpen[ = value]
Синтаксис атрибута PortOpen включает в себя следующие части:

описание раздела
Выражение объекта , значение которого является объектом в списке «относится к».
значение Булево выражение, указывающее состояние порта связи.
Установите значение
value Значения настройки:
Значение настройки Описание
Открытый порт открыт
Ложный порт отключен

Инструкции
Установите для свойства PortOpen значение True, чтобы открыть порт. Установите значение False, чтобы закрыть порт и очистить буферы приема и передачи. Когда приложение завершает работу, элемент управления MSComm автоматически закрывает последовательный порт.
Перед открытием порта убедитесь, что для атрибута CommPort задан допустимый номер порта. Если для атрибута CommPort задан недопустимый номер порта, при открытии порта элемент управления MSComm генерирует ошибку 68 (устройство недопустимо).
Кроме того, устройство последовательного порта должно поддерживать текущее значение настройки атрибута Settings. Если в атрибуте «Настройки» содержатся параметры связи, которые не поддерживаются оборудованием, оно может работать некорректно.
Если атрибут DTREnable или RTSEnable имеет значение True до открытия порта, атрибут устанавливается на False при закрытии порта. В противном случае линии DTR и RTS сохраняют свое предыдущее состояние.
тип данных
Boolean
Пример атрибута PortOpen
В следующем примере порт связи № 1 открывается со скоростью 9600 бод. Нет проверки на четность, 8 бит данных и 1 стоповый бит.
MSComm1.Settings = "9600,n,8,1"
MSComm1.CommPort = 1
MSComm1.PortOpen = True

Свойства ввода
Возврат и удаление потока данных в приемном буфере. Это свойство недопустимо во время разработки и доступно только для чтения во время выполнения.
Синтаксис
object.Input
Синтаксис входного атрибута включает в себя следующие части:
описание раздела
Выражение объекта , значение которого является объектом в списке «относится к».
Инструкции
Атрибут InputLen определяет количество символов, считываемых атрибутом Input. Установите InputLen в 0, тогда свойство Input считывает все содержимое в буфере.
Атрибут InputMode определяет тип данных, считываемых с помощью атрибута Input. Если для InputMode задано значение comInputModeText, свойство Input возвращает текстовые данные через Variant. Если для InputMode задано значение comInputModeBinary, свойство Input возвращает массив двоичных данных через Variant.
тип данных
Variant
Пример входного атрибута
В этом примере показано, как читать данные из приемного буфера.
Private Sub Command1_Click()
Dim InString as String
‘Прочитать все доступные данные.
MSComm1.InputLen = 0

‘Проверьте данные.
If MSComm1.InBufferCount Then
‘ Read data.
InString = MSComm1.Input
End If
End Sub

Выходные атрибуты
Запись потока данных в буфер передачи. Это свойство недопустимо во время разработки и доступно только для чтения во время выполнения.
Синтаксис
object.Output [ = value ]
Синтаксис выходного атрибута включает в себя следующие части:
описание раздела
Выражение объекта , значение которого является объектом в списке «относится к».
value Строка, которая будет записана в буфер передачи.

Инструкции
Свойство Output может передавать текстовые или двоичные данные. Для переноса текстовых данных с помощью атрибута «Вывод» необходимо определить вариант, содержащий строку. Чтобы отправить двоичные данные, вы должны передать Variant, содержащий байтовый массив, свойству Output.
В обычных условиях, если вы отправляете в приложение строку ANSI, вы можете отправить ее в виде текстовых данных. Если отправляются данные, содержащие встроенные управляющие символы, нулевые символы и т. Д., Они должны отправляться в двоичной форме.
тип данных
Variant
Пример выходного атрибута
В следующем примере показано, как отправить каждый символ, введенный пользователем, в последовательный порт:
Private Sub Form_KeyPress (KeyAscii As Integer)
Dim Buffer as Variant
Настройте и откройте окно
MSComm1.CommPort = 1
MSComm1.PortOpen = True
Buffer = Chr$(KeyAscii)
MSComm1.Output = Buffer
End Sub

Событие OnComm
Всякий раз, когда изменяется значение атрибута CommEvent, генерируется событие OnComm, указывающее, что произошло событие связи или ошибка.
Синтаксис
Private Sub object_OnComm ()

Синтаксис события OnComm включает в себя следующие части:
описание раздела
Выражение объекта , значение которого является объектом в списке «относится к».
Инструкции
Атрибут CommEvent содержит фактическую ошибку или номер, который сгенерировал событие OnComm. Обратите внимание, что установка для атрибута Rthreshold или Sthreshold значения 0 отключает захват событий comEvReceive и comEvSend соответственно.
Пример события OnComm
В следующем примере показано, как обрабатывать ошибки и события связи. Вы можете вставить код после соответствующего оператора Case для обработки определенных ошибок или событий.
Private Sub MSComm_OnComm ()
Select Case MSComm1.CommEvent
‘ Handle each event or error by placing
‘ code below each case statement
‘Ошибка
Дело ComcomBreak получило перерыв.
Превышен тайм-аут для компакт-диска comEventCDTO (RLSD)
Case comEventCTSTO ‘ CTS Timeout。
Case comEventDSRTO ‘ DSR Timeout。
Case comEventFrame ‘ Framing Error
Case Данные ComcomEventOverrun потеряны.
Case ComcomRxOver Переполнение буфера приема.
Case Ошибка ComcomRxParity.
Case ComcomTxFull Буфер передачи заполнен.
Case comEventDCB Неожиданная ошибка при получении DCB
Событие
Изменяется состояние линии CD ComEvCD.
Case ComEvCTS CTS изменяет статус строки.
Изменение статуса строки comEvDSR DSR.
Индикатор Case ComEvRing Ring изменился.
Case ComEvReceive получил RThreshold # ofchars.
Case ComEvSend В буфере передачи есть символы Sthreshold. В буфере передачи есть символы
Case ComEvEof EOF-символ найден во входном потоке данных
End Select
End Sub
атрибуты CommEvent
возвращает самое последнее коммуникационное событие или ошибку. Это свойство недопустимо во время разработки и доступно только для чтения во время выполнения.
Синтаксис
object.CommEvent
Синтаксис атрибута CommEvent включает в себя следующие части:
описание раздела
Выражение объекта , значение которого является объектом в списке «относится к».

Инструкции
Пока существует ошибка связи или событие, будет генерироваться событие OnComm, а свойство CommEvent хранит числовой код ошибки или события. Чтобы определить точную ошибку или событие, вызвавшее событие OnComm, обратитесь к свойству CommEvent.
Свойство CommEvent возвращает одно из следующих значений, чтобы указать различные ошибки или события связи. Эти константы можно найти в библиотеке объектов элемента управления. Ошибки связи включают в себя следующие настройки:
Описание постоянного значения
comEventBreak 1001 получил сигнал прерывания.
comEventCTSTO 1002 Очистка ToTo Время отправки истекло. Когда символ передается в течение заданного времени системы, строка Clear To Send становится низкой.
comEventDSRTO 1003 Тайм-аут набора данных готов. Когда символ передается в течение указанного времени системы, строка Готовность набора данных заканчивается.
Ошибка кадра 100E comEventFrame. Аппаратное обеспечение обнаружило ошибку кадра.
Порт comEventOverrun 1006 превышен. Символ не считывается с аппаратного обеспечения до прибытия следующего символа, и персонаж теряется.
comEventCDTO 1007 Тайм-аут обнаружения несущей. При передаче символа в течение указанного времени системы линия обнаружения несущей заканчивается на низком уровне. Обнаружение несущей также известно как обнаружение сигнала приемной линии (RLSD).
comEventRxOver 1008 Принять переполнение буфера. В буфере приема нет места.
comEventRxParity 1009 четность. Аппаратное обеспечение обнаружило ошибку четности
comEventTxFull 1010 Буфер передачи заполнен. Буфер передачи заполнен при передаче символов
comEventDCB 1011 Неожиданная ошибка при получении блока управления устройством порта (DCB)

Коммуникационные события включают в себя следующие параметры:
Описание постоянного значения
comEvSend 1 В буфере передачи меньше символов, чем Sthreshold.
comEvReceive 2 полученных символа Rthreshold. Это событие будет генерироваться до тех пор, пока атрибут input не будет использован для удаления данных из приемного буфера.
Статус строки comEvCTS 3 Clear To Send изменился.
Состояние строки готовности набора данных comEvDSR 4 изменилось. Инцидент произошел только когда DST изменился с 1 на 0.
Статус строки comEvCD 5 Carrier Detect изменился.
comEvRing 6 Обнаружен сигнал вызова. Некоторые UART (универсальная асинхронная передача-прием) могут не поддерживать это событие.
comEvEOF 7 Получен символ конца файла (символ ASCII равен 26).

тип данных
Integer

Пример управления MSComm
В следующем простом примере демонстрируется базовая последовательная связь с использованием модема:
Private Sub Form_Load ()
Буфер для сохранения входной подстроки
Dim Instring As String
Используйте COM1.
MSComm1.CommPort = 1
9600 бод, без проверки четности, 8 бит данных, один стоповый бит.
MSComm1.Settings = "9600,N,8,1"
Когда вход занят,
Скажите элементу управления прочитать весь буфер.
MSComm1.InputLen = 0
Откройте порт.
MSComm1.PortOpen = True
Отправьте команду внимания на модем.
‘Функция Chr $: возвращает строку, которая содержит символы, связанные с указанным кодом символа.
MSComm1.Output = "ATV1Q0" & Chr $ (13) Убедитесь, что
Модем отвечает «ОК».
Подождите, пока данные вернутся в последовательный порт.
Do
DoEvents
Buffer$ = Buffer$ & MSComm1.Input
Loop Until InStr(Buffer$, "OK" & vbCRLF)
Считайте ответ «ОК» с последовательного порта.
Закройте последовательный порт.
MSComm1.PortOpen = False
End Sub
Примечание. Элемент управления MSComm может использовать опросы или методы, управляемые событиями, для получения данных из порта. В этом простом примере используется метод опроса.

Пример 1: набор номера с компьютера
В некоторых практических приложениях часто необходимо использовать компьютер для набора номера. В следующем примере элемент управления MSComm используется для управления модемом для набора номера и осуществления последовательной связи.
Этапы реализации:
1. Создайте форму
Добавьте элемент управления MSComm для установления соединения с последовательным портом;
Добавьте элемент управления Text, свойство Name — Txttel, используется для ввода номера телефона;
Добавьте три элемента управления CommandButton, свойство Name — DialButton, CancelButton и QuitButton, соответственно, используемые для осуществления набора, отмены набора и отмены программы;
Добавьте элемент управления Label для отображения всей информации, связанной с набором номера. Форма показана на рисунке 1.
2. Установить свойства управления MSComm
InBufferSize = 1024; InBufferSize относится к размеру всего приемного буфера. Значение по умолчанию составляет 1024 байта.
Inputlen = 0; значение по умолчанию для атрибута InputLen равно 0. При установке InputLen на 0, использование Input приведет к тому, что элемент управления MSComm прочитает все содержимое в приемном буфере.
InputMode = 0; 0—- (по умолчанию) данные извлекаются в текстовой форме через атрибут Input.
1 — данные извлекаются в двоичной форме через атрибут Input
Rthreshold = 2; после получения символов, если для атрибута Rthreshold установлено значение 0 (по умолчанию), событие OnComm генерироваться не будет.
RTSEnable = True; если для RTSEnable задано значение True, порт открыт, линия Request ToSend установлена ​​на высокий уровень, а когда порт закрыт, установлен на низкий уровень.
Settings=“9600,N,8,1”;
Sthreshold = 0. Если атрибут Sthreshold установлен в 0 (значение по умолчанию), события передачи данных не будут генерировать события OnComm. Если атрибут Sthreshold установлен в 1, когда буфер передачи полностью пуст, элемент управления MSComm генерирует событие OnComm.
Поскольку состояние использования последовательного порта каждого компьютера не будет одинаковым. Чтобы сделать программу универсальной, сначала необходимо выполнить тест последовательного порта в методе Load формы, а затем найти настройку после того, как будет найден первый доступный последовательный порт.
3. Особенности программы
Программа набирает номер в соответствии с введенным номером телефона. После того, как модем набирает номер в обычном режиме, пользователю предлагается снять трубку и подготовиться к вызову.
Рисунок 1 Пример телефонного набора
4. Основные методы и коды событий
‘Установить доступный последовательный порт
Private Sub Form_Load()
On Error GoTo error_open
For i = 1 To 4
MSComm1.CommPort = 1
MSComm1.PortOpen = True
‘Установить первый доступный последовательный порт
On Error GoTo 0
Exit Sub
error_resume:
Next
error_open:
Resume error_resume
End Sub
Private Sub DialButton_Click()
Dim Number$, Temp$
Number $ = Trim $ (Txttel.Text) возвращает вариант (String), который содержит копию указанной строки, без начальных пробелов (LTrim), конечных пробелов (RTrim) или ведущих и Завершающий бланк (отделка).
If Number$ = “" Then
MsgBox "Пожалуйста, введите номер телефона"
Txttel.SetFocus
Exit Sub
End If
DialButton.Enabled = False
QuitButton.Enabled = False
DialString$ =“ATDT”+ Number$ + “;” + vbCr

Очистить приемный буфер
MSComm1.InBufferCount =0
‘Наберите номер телефона
MSComm1.Output = DialString$
Lblmessage.Caption = "набирается номер -" + номер $
DialButton.Enabled = True
QuitButton.Enabled = True
End Sub
Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case comEvReceive
‘Чтение последовательных данных
COMBUF=COMBUF + MSComm1.Input
lc = InStr(1, COMBUF, “OK”)
If lc = 0 Then Exit Sub
‘Модем набрал номер нормально, вернул OK
Lblmessage.Caption = "Пожалуйста, снимите трубку и приготовьтесь к звонку"
Case comEvSend
End Select
End Sub
Private Sub CancelButton_Click()
‘отключиться от модема
MSComm1.Output = “ATH” + vbCr
End Sub

Пример 2. Реализация идентификатора вызывающего абонента
В некоторых практических приложениях необходимо отображать и сохранять номер вызывающего абонента и отображать соответствующие данные в соответствии с номером телефона, такие как управление имуществом сообщества и 110 систем сигнализации.
Этапы реализации:
1. Создать форму
Добавьте элемент управления MSComm для установления соединения с последовательным портом;
Добавьте 4 элемента управления Option для определения используемого номера последовательного порта;
Добавьте 4 элемента управления Label для отображения номера вызывающего абонента, даты и времени;
Добавьте элемент управления ProgressBar для отображения количества звонков телефона;
Чтобы облегчить процесс отладки, добавлен текстовый текстовый элемент 5 управления для отображения всей информации, передаваемой модемом. Форма показана на рисунке 2.
Рис. 2. Форма идентификации вызывающего абонента
2. Установить свойства управления MSComm
InBufferSize=1024;
Inputlen=0;
InputMode=0;
Rthreshold=1;
RTSEnable=True;
Settings=“9600,N,8,1";
Sthreshold=0。
3. Программные функции
Программа сначала инициализирует модем, а затем ожидает входящего вызова. При входящем звонке MSComm генерирует событие OnComm. Формат сообщения, отправляемого модемом: «ДАТА = Ввод и возврат строки в месяц и день ВРЕМЯ = Ввод и возврат строки в часы NMBR = Номер телефона и Ввод и перевод строки». Перехватите вводимую информацию в обработчике события OnComm. После перехвата номера телефона используйте номер телефона в качестве ключевого слова для запроса и отображения соответствующей информации в базе данных.
4. Основные методы и коды событий
‘Раздел общего объявления
Const DEBFLG = 1
Public COMX, BEEPNO, HANGUP,PNLOC As Integer
Public COMBUF, COMLIN As String
Private Sub Form_Load()
‘Проверьте последовательный порт
Dim I, C As Integer
COMX = 0
COMBUF = “”
COMLIN = “”
BEEPNO = 0
HANGUP = 0
‘Запустите программу как обычно, закройте Text5 справа
If DEBFLG= 0 Then
Form1.Width = Form1.Width - Text5.Width
Text5.Enabled = False
Text5.Visible = False
End If
On Error GoTo ERROR_FORM_LOAD
‘Проверьте доступные последовательные порты
For C = 1 To 4
If MSComm1.PortOpen Then MSComm1.PortOpen = False
MSComm1.CommPort = C
If Not MSComm1.PortOpen Then
MSComm1.PortOpen = True
If MSComm1.PortOpen Then MSComm1.PortOpen = False
If COMX = 0 Then COMX = C
FORM_LOAD_1:
Next C
If COMX = 0 Then End
On Error GoTo 0
Option1(COMX - 1).Value = True
Exit Sub
ERROR_FORM_LOAD:
Option1(C - 1).Enabled = False
Resume FORM_LOAD_1
End Sub
‘Выберите последовательный порт
Private Sub Option1_Click(Index As Integer)
COMX = Index + 1
Call INIT_MODEM
End Sub
‘Первый пробный модем
Private Sub INIT_MODEM()
If MSComm1.PortOpen Then MSComm1.PortOpen = False
MSComm1.CommPort = COMX
If Not MSComm1.PortOpen Then MSComm1.
PortOpen = True
MSComm1.Output = “AT#CID=1” + vbCr
‘Проверьте, выполнена ли команда модема
Call CHK_MODEM
MSComm1.Output = “ATS0=0” + vbCr
End Sub
‘Проверьте, выполнена ли команда модема
Private Sub CHK_MODEM()
Dim T As Single
Dim L As Integer
T = Timer
Do
COMBUF = COMBUF + MSComm1.Input
L = InStr(1, COMBUF,“OK”)
Loop Until L <> 0 Or Timer - T > 1
If L = 0 Then
Line1.Visible = True
Line2.Visible = True
Form1.Show
MsgBox «Модем не в сети», vbOKOnly + vbCritical, «Тест модема»
Else
Line1.Visible = False
Line2.Visible = False
End If
End Sub
‘обработка события получения последовательного порта
Private Sub MSComm1_OnComm()
Dim CH, ST As String
Dim LC As Integer
Select Case MSComm1.CommEvent
‘Получено R-пороговых символов
Case comEvReceive
COMBUF = COMBUF + MSComm1.Input
‘Чтение последовательных данных
Do
LC = InStr(1, COMBUF, Chr(10))
If LC = 0 Then Exit Do
COMLIN = Left(COMBUF, LC)
COMBUF = Mid(COMBUF, LC + 1)
CH = Left(COMLIN, 1)
If “ ” < CH And CH < Chr(127) And DEBFLG = 1 Then
Text5.Text = Text5.Text + COMLIN
Text5.SelStart = Len(Text5.Text)
End If
‘Перехват номера вызывающего абонента и отображение
If InStr(1, COMLIN“NMBR=”)<> 0 Then
ST = Mid(COMLIN, 8)
Text2.Text=“ ”+Left$(ST,Len (ST) -2) + “ ”
Form1.WindowState = 0
Timer1.Enabled = True
Call BEEP_NO
‘Перехватить дату вызова и отобразить
ElseIf InStr(1, COMLIN, “DATE = ”) <> 0 Then
Text3.Text = Str(Year(DATE)) + “.”+ Mid(COMLIN, 8, 2) + “.” + Mid(COMLIN, 10, 2) + “ ”
‘Перехватить время вызова и отобразить
ElseIf InStr(1, COMLIN, “TIME = ”) <> 0 Then
Text4.Text = “ ” + Mid(COMLIN, 8, 2) + “:” + Mid(COMLIN, 10, 2)
‘Определить количество звонков
ElseIf InStr(1, COMLIN, “RING”) <> 0 Then
Call BEEP_NO
If HANGUP = 1 Or BEEPNO = 15 Then Call HANG_UP
‘Проверьте, останавливается ли звонок
ElseIf Left(COMLIN, 3) = “000” Then
BEEPNO = 0
Timer1.Enabled = False
Form1.WindowState = 1
ProgressBar1.Value = 0
Frame3.Caption = "Количество колец"
End If
Loop
‘Обработка других событий
Case comEvCTS
Case comEvDSR
Case comEvCD
Case comEvRing
Case comEventBreak
Call INIT_MODEM
Case Else
MsgBox "Серийный номер события получения:" MSComm1.CommEvent & "vbOKOnly +"
vbCritical, «Тестировать последовательный порт»
End Select
End Sub

[РЕШЕНО] Как исправить ошибки Mscomm32.ocx

Как правило, ошибки mscomm32.ocx вызваны попыткой загрузить поврежденный или отсутствующий элемент управления ActiveX (Элемент управления связью и встраиванием объектов), связанный с Hallmark Card Studio 2004 Deluxe. Как правило, самый лучший и простой способ устранения ошибок, связанных с файлами OCX, является замена файлов. В качестве последней меры мы рекомендуем использовать очиститель реестра для исправления всех недопустимых mscomm32.ocx, расширений файлов OCX и других ссылок на пути к файлам, по причине которых может возникать сообщение об ошибке.

В таблице ниже представлен список доступных для загрузки файлов mscomm32.ocx, подходящих для большинства версий Windows (включая %%os%%). Если у нас нет необходимой копии версии mscomm32.ocx, вы можете просто нажать кнопку Request (Запрос), чтобы её запросить. В нашей обширной базе представлены не все версии файлов; в этом случае вам следует обратиться к Vivendi Universal Games.

Несмотря на то, что размещение соответствующего файла в надлежащем месте позволяет устранить большинство проблем, возникающих в результате ошибок, связанных с mscomm32.ocx, вам следует выполнить быструю проверку, чтобы однозначно в этом убедиться. Затем вы можете повторно открыть Hallmark Card Studio 2004 Deluxe, чтобы проверить выводится ли сообщение об ошибке.

Скачать MSCOMM32.OCX для Windows

Ошибки MSCOMM32.OCX возникают по нескольким причинам, например, файл может быть поврежден, удален или не найден на компьютере. Распространенные ошибки библиотек:

  • Ошибка при запуске MSCOMM32.OCX: не найден указанный модуль.
  • Файл не предназначен или несовместим с версией Windows.
  • Отсутствует MSCOMM32.OCX, попробуйте переустановить программу.
  • Модуль или библиотека не обнаружены на компьютере.
  • MSCOMM32.OCX вернул код ошибки.

Чтобы исправить ошибки MSCOMM32.OCX, скачайте файл и переустановите его в системной папке Windows. В некоторых случаях файл должен находиться в папке с игрой или программой. Подробная инструкция по установке MSCOMM32.OCX и других библиотек находится в разделе «Помощь».

Mscomm32 ocx что это

Version: 6.00.81694

Filesize: 101.3 KB

How to install the ocx file * Please read our disclaimer before installing.

1. Download the file MSCOMM32.OCX to your desktop.
2. Move the ocx file to the program directory missing the file.
3. If step 2 doesn’t work. Move MSCOMM32.OCX to the system directory.

— Windows 95,98, and Me — C:\Windows\System
— Windows 2000 & NT — C:\WINNT\System32
— Windows XP,Vista, and Windows 7 — C:\Windows\System32

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *