LOCAL ocomm, x, colderrorhandler, lncomports, lcbuffer DECLARE acomports[16] FOR x = 1 TO 16 acomports[x] = x ENDFOR colderrorhandler = ON('ERROR') FOR x = 1 TO 16 ocomm = CREATEOBJ('MsCOMMLib.Mscomm') ocomm.commport = x ON ERROR acomports[x] = .F. ocomm.portopen = .T. ocomm.portopen = .F. ocomm = NULL ON ERROR &colderrorhandler ENDFOR lncomports = 0 FOR x = 1 TO 16 IF VARTYPE(acomports[x]) = 'L' ADEL(acomports,x) ELSE lncomports = lncomports + 1 ENDIF ENDFOR DIMENSION acomports[lncomports] lcbuffer = "" ocomm = CREATEOBJ('MsCOMMLib.Mscomm') FOR x = 1 TO ALEN(acomports) ocomm.commport = acomports[x] ocomm.rtsenable = .T. ocomm.dtrenable = .T. ocomm.portopen = .T. ocomm.output = "ATI3"+CHR(13) WAIT "Waiting for port..." WINDOW TIMEOUT 2 lcbuffer = ocomm.input IF !EMPTY(lcbuffer) ? "Modem on COM" + ALLTRIM(STR(acomports[x])) + ": " + lcbuffer lcbuffer = "" ENDIF ocomm.rtsenable = .F. ocomm.dtrenable = .F. ocomm.portopen = .F. ENDFOR ocomm = NULL