PDA

Click to See Complete Forum and Search --> : Program working abnormally for large number of handsets


raman_xs
Apr 19th, 2007, 03:30 AM
I'm using MSComm control for developing a Personal Response System.

Following are the settings for MSComm control that I'm using:


MSComm1.CommPort = PortNo
MSComm1.Settings = "115200,N,8,1"
MSComm1.InputLen = 100
MSComm1.RThreshold = 1
MSComm1.SThreshold = 1
MSComm1.PortOpen = True


Following is the onComm event of the MSComm control:


Private Sub MSComm1_OnComm()
Dim i As Integer, j As Integer, k As Integer
Dim remoteno As Integer, keypressed As String
Dim a() As Byte
Dim buffer() As Byte
Dim BufferLength As Integer
Dim strbuffer As String
Dim diff As Double

Select Case MSComm1.CommEvent
'errors
Case comEventBreak
Case comEventCDTO
Case comEventCTSTO
Case comEventDSRTO
Case comEventFrame
Case comEventOverrun
Case comEventRxOver
Case comEventRxParity
Case comEventTxFull
Case comEventDCB

'events
Case comEvCD
Case comEvCTS
Case comEvDSR
Case comEvRing
Case comEvReceive
strbuffer = ""
BufferLength = MSComm1.InBufferCount
If BufferLength > 0 Then
buffer = MSComm1.Input
k = 0
i = UBound(buffer)
For j = 0 To i
If j = 1 Then
remoteno = buffer(j)
ElseIf j = 5 Then
keypressed = buffer(j)
End If
strbuffer = strbuffer & buffer(j) & ":"
Next j
End If
'MsgForm strbuffer
Case comEvSend
Case comEvEOF
Case Else
End Select

If BufferLength > 0 Then
'Process user's response....
End If
End Sub


When the user gives response from his handset then each response is processed in the onComm event.

It's working fine for small no. of handsets but the problem arises when a large no. of handets are used.

Any help would be grateful.

Regards,
Raman

Al42
Apr 19th, 2007, 03:34 PM
What's the hardware configuration? What's a "handset"? What does it send? Do you have one MSComm control for each handset?

BTW, all the Case lines that have no code associated with them can be deleted to make the code easier to read. IOW Select Case MSComm1.CommEvent
Case comEvReceive
strbuffer = ""