* Form's method's PROCEDURE INIT _VFP.AUTOYIELD=.F. WITH THISFORM.ocxCOMM .InputMode = 0 .RThreshold = 1 .SThreshold = 1 .Settings = [9600,n,8,1] .RTSEnable = .F. .InputLen = 0 ENDWITH * InputMode = comInputModeBinary = 1 * InputMode = comInputModeText = 0 (default) ENDPROC * --------------------------- PROCEDURE waitforresponse LPARAMETERS lnDelayInSeconds LOCAL lnStartTime lnStartTime = SECO() DO WHILE SECO() <= (lnStartTime + lnDelayInSeconds) ; AND NOT SECO() < lnStartTime DOEVENTS() ENDDO ENDPROC * --------------------------- * OCX method PROCEDURE OnComm *** ActiveX Control Event *** IF THIS.commevent = 2 LOCAL InString InString = "" IF THIS.InBufferCount > 5 InString = InString + THIS.INPUT RETORNO_MODEM = InString ENDIF ENDIF ENDPROC * --------------------------- * Button PROCEDURE CLICK PUBLIC lcRETORNO_MODEM LOCAL lcModelo_modem, lcHabilitado_p_bina IF THISFORM.ocxCOMM.PortOpen THISFORM.ocxCOMM.PortOpen = .F. ENDIF * SET STEP ON WITH THISFORM .ocxCOMM.CommPort = 3 .ocxCOMM.PortOpen = .T. .ocxCOMM.OUTPUT = [ATI0] + CHR(13) .waitforresponse(1) ENDWITH lcModelo_modem = RETORNO_MODEM IF THISFORM.ocxCOMM.PortOpen THISFORM.ocxCOMM.PortOpen = .F. ENDIF WITH THISFORM .ocxCOMM.CommPort = 3 .ocxCOMM.PortOpen = .T. .ocxCOMM.OUTPUT = [AT#CID=1] + CHR(13) .waitforresponse(2) ENDWITH lcHabilitado_p_bina = RETORNO_MODEMIf I enable the line with SET STEP ON the variables