mscomm1, hvordan er bedst?
Hey,Jeg har et mscomm1 object på min form og skal modtage nogle stregkoder på COM1 porten.
Jeg har søgt nettet igennem og fundet én måde at lave det på. Faktisk kun én. Mit problem er at jeg ikke forstår hvorfor folk laver det som de gør, og er bange for at jeg måske overser noget.
Måden folk laver det på er via en løkke, som følgende :
Private Sub MSComm1_OnComm()
Dim data As String
Label1.Caption = "Comm length : " & MSComm1.InBufferCount
Do
data = data & MSComm1.Input
While (Len(data) < datalength)
dotask data
data = ""
End Sub
Hvor jeg ville lave det sådan her:
Private Sub MSComm1_OnComm()
Static data As String
Label1.Caption = "Comm length : " & MSComm1.InBufferCount
data = data & MSComm1.Input
If (Len(data) = datalength) Then
dotask data
data = ""
End If
End Sub
Hvad er fordelene ved hver, og hvorfor bruger alle løkke metoden? "Bonger" man ikke CPU'en med løkkemetoden?
På min måde bliver triggeren kaldt hver gang der kommer ny data, og dermed kun det antal gange, hvor den anden looper indtil alt data'n er kommet igennem.
Hvad er det jeg overser?
