thisform.lblStatus.Visible=.T. thisform.lblStatus.Caption = "Connecting to File Transfer Protocol Site..." With Thisform.OleFTP .URL = "ftp://ftp.myFtpsite.com" .UserName = "myUser" .Password = "mypassword" do while (.StillExecuting) DoEvents ThisForm.Refresh Label3.Caption = "Connecting to File Transfer Protocol Site....." ENDDO lcExecute = ', "get ' + lcInFileName + ' ' + lcOutFileName +'"' thisform.lblStatus.Caption = "Transfer of Data in progress ...." .Execute (&lcExecute) do while (.StillExecuting) DoEvents enddo DoEvents thisform.lblStatus.Caption = "Transfer Completed" ThisForm.Refresh .Execute (, "QUIT") EndWithAs you see, the only thing the user sees is a Label telling him whats happpening, the files to move and where to come from variables, you can either know these internally or allow the user to select them using somehitng as simple as a GETFILE()