>lcBuffer = SPACE(bytestotal) >This.Object.GetData(@lcBuffer, , bytestotal) > >*--Only process when the last received character is EOT. >*IF AT(CHR(13), lcBuffer) = 0 &&--This won't work quite right. >IF RIGHT(lcBuffer,1) <> CHR(13) > .pcLastReading = .pcLastReading + lcBuffer >ELSE > lcMsgStr = .pcLastReading + lcBuffer > .pcLastReading = '' > *lnMsgs = OCCURS(CHR(13), lcBuffer) > lnMsgs = OCCURS(CHR(13), lcMsgStr) > FOR i = 1 TO lnMsgs > lnAtEot = AT(CHR(13), lcMsgStr) > lcThisMsg = LEFT(lcMsgStr, lnAtEot - 1) > lcMsgStr = SUBSTR(lcMsgStr, lnAtEot + LEN(CHR(13))) > .mOnComm(This.Object, lcThisMsg) > NEXT i >ENDIF >