'************************************************* 'The OnComm event is used for trapping 'communications events and errors. '************************************************* ' Static Sub MSComm1_OnComm () Dim EVMsg$ Dim ERMsg$ '--- Branch according to the CommEvent Prop.. Select Case MSComm1.CommEvent '--- Event messages Case MSCOMM_EV_RECEIVE ShowData Term, (MSComm1.Input) Case MSCOMM_EV_SEND Case MSCOMM_EV_CTS EVMsg$ = "Change in CTS Detected" Case MSCOMM_EV_DSR EVMsg$ = "Change in DSR Detected" Case MSCOMM_EV_CD EVMsg$ = "Change in CD Detected" Case MSCOMM_EV_RING EVMsg$ = "The Phone is Ringing" Case MSCOMM_EV_EOF EVMsg$ = "End of File Detected" '--- Error messages Case MSCOMM_ER_BREAK EVMsg$ = "Break Received" Case MSCOMM_ER_CTSTO ERMsg$ = "CTS Timeout" Case MSCOMM_ER_DSRTO ERMsg$ = "DSR Timeout" Case MSCOMM_ER_FRAME EVMsg$ = "Framing Error" Case MSCOMM_ER_OVERRUN ERMsg$ = "Overrun Error" Case MSCOMM_ER_CDTO ERMsg$ = "Carrier Detect Timeout" Case MSCOMM_ER_RXOVER ERMsg$ = "Receive Buffer Overflow" Case MSCOMM_ER_RXPARITY EVMsg$ = "Parity Error" Case MSCOMM_ER_TXFULL ERMsg$ = "Transmit Buffer Full" Case Else ERMsg$ = "Unknown error or event" End Select If Len(EVMsg$) Then '--- Display event messages in label Label1.Caption = EVMsg$ EVMsg$ = "" ElseIf Len(ERMsg$) Then '--- Display error messages in an alert ' message box. Beep Ret = MsgBox(ERMsg$, 1, "Press Cancel to Quit, Ok to ignore.") ERMsg$ = "" '--- If Cancel (2) was pressed If Ret = 2 Then MSComm1.PortOpen = 0 'Close the port and quit End If End If End Sub