CLEAR #define _END_CHAR CHR(10) oComm = CREATEOBJ('MSCOMMLib.MSComm') LOCAL lcData, lnStart, lldataready lcDATA='' lnStart = seconds() llDataReady = .F. With oComm .CommPort = 1 .Settings = "9600,N,8,1" .inbuffersize=1024 .InputLen = 0 .RThreshold=1 .SThreshold=1 .PortOpen = .T. .output="~VER "+CHR(13) *Oncomm event of OComm should fire here and be processed *instead of code below DO WHILE .commevent#2 .and. SECONDS()-lnStart<3 DOEVENTS() ENDDO DO WHILE .commevent=2 lcData=ALLTRIM(lcData)+ALLTRIM(.input) IF LEN(ALLTRIM(lcdata))>0.or.LEN(ALLTRIM(.input))>0 ? "lcdata = "+lcDATA+ALLTRIM(.input) ENDIF IF !EMPTY(lcData).and.LEN(ALLTRIM(lcData))>4 llDataReady = .T. Exit Endif ENDDO IF LEN(ALLTRIM(lcData))>0 llDataReady=.T. ENDIF if llDataReady ? "1St Send Phonetree Version: "+lcDATA ? "1St Send Length of result: "+ALLTRIM(STR(len(lcDATA))) else ? '1St Send Received no data!' ENDIF ENDWITH RETURN