How can I pause program execution while this grid is open:
.COLUMNCOUNT = 15
.HEIGHT = 900
.PANEL = 1
.WIDTH = 1700
.LEFT = 24
.TOP = 24
.Column1.WIDTH = 70
.Column1.NAME = "Column1"
.Column1.Header1.CAPTION = "Chart"
.Column2.WIDTH = 60
.Column2.NAME = "Column2"
.Column2.Header1.CAPTION = "DOS"
.Column2.FORMAT = "R"
.Column2.INPUTMASK = "##/##/##"
.Column3.WIDTH = 40
.Column3.NAME = "Column3"
.Column3.Header1.CAPTION = "Prov"
.Column4.WIDTH = 28
.Column4.NAME = "Column4"
.Column4.Header1.CAPTION = "Post"
.Column4.Check1.VISIBLE = .T.
.Column4.CURRENTCONTROL = 'Check1'
.Column4.Text1.VISIBLE = .F.
.Column4.SPARSE = .F.
.Column5.WIDTH = 60
.Column5.NAME = "Column5"
.Column5.Header1.CAPTION = "Proc"
*.Column5.FORMAT = "R"
.Column6.WIDTH = 40
.Column6.NAME = "Column6"
.Column6.Header1.CAPTION = "Mod1"
.Column7.WIDTH = 40
.Column7.NAME = "Column7"
.Column7.Header1.CAPTION = "Mod2"
.Column8.WIDTH = 40
.Column8.NAME = "Column8"
.Column8.Header1.CAPTION = "Units"
.Column9.WIDTH = 60
.Column9.NAME = "Column9"
.Column9.Header1.CAPTION = "Diag1"
.Column10.WIDTH = 75
.Column10.NAME = "Column10"
.Column10.Header1.CAPTION = "Diag 2"
.Column11.WIDTH = 75
.Column11.NAME = "Column11"
.Column11.Header1.CAPTION = "Diag 3"
.Column12.WIDTH = 75
.Column12.NAME = "Column12"
.Column12.Header1.CAPTION = "Diag 4"
.Column13.WIDTH = 40
.Column13.NAME = "Column13"
.Column13.Header1.CAPTION = "Price"
.Column14.WIDTH = 60
.Column14.NAME = "Column14"
.Column14.Header1.CAPTION = "Case #"
.Column15.WIDTH = 60
.Column15.NAME = "Column15"
.Column15.Header1.CAPTION = "Ins1"
.SETALL('DynamicBackColor', 'IIF(incoming.checker, RGB(200,250,200), RGB(255,255,255))', 'COLUMN')
.VISIBLE = .T.
oForm.VISIBLE = .T. && this is what puts up the grid
ON KEY LABEL esc oForm.VISIBLE = .F.
ON KEY LABEL esc resume
?"End of procedure grid"
DEACTIVATE WINDOW grid
DEFINE CLASS clsmultigrid AS FORM
TOP = 0
LEFT = 90
HEIGHT = 900 &&IIF(RECCOUNT()>50,SROWS(),RECCOUNT()*8)
WIDTH = 900 && 376
DOCREATE = .T.
CAPTION = "Incoming Encounters (for Review)"
WINDOWTYPE = 1 && 1 - Modal. No other forms can become active and the menu can be active. All forms in the form set are active.
WINDOWSTATE = 0
NAME = "clsmultigrid"
DEFINE CLASS clscheck AS CHECKBOX
HEIGHT = 17
WIDTH = 18
AUTOSIZE = .f.
CAPTION = ""
NAME = "clscheck"
WAIT WINDOW "Posting "+chart
* if this was last procedure for this chart/dos, then Post_chosen_procedures() && insert into MWTRN for checker
* user should not click POST until all procedures for this encounter have been reviewed and approved
* then, clicking on any one of them will post that whole encounter
Without doing any actual research, I know of 3 ways to stop a program from proceeding without terminating the program.
Which one suits you best will depend on why you want the program to stop.
1 A simple programmed pause:
If you just want to stop something from continuing, you can force a pause by using:
This will cause the program to stop until a key is pressed, but control is still within the program.
(It works, but I grant it's not very useful. The other 2 are more flexible.)
2 A pause which allows actions outside of program control:
The easiest way to stop program control is with the SUSPEND command. When the command is encountered, program control is returned to the development environment and the COMMAND window becomes accessible. With the COMMAND window available, you can check the system status, the content of variables, etc. Restore program control by typing RESUME in the COMMAND window. The only drawback to this command is that it will not work if the program is compiled to an EXE, then it acts the same as CANCEL.
3 If you are trying to find a problem within your code:
Insert the following command at the beginning of the section of code you want to check
SET STEP ON
This will open the DEBUGGING system. From there, you can execute your program a line at a time to check the content of variables, the status of tables, etc.
At the end of the suspect code segment,
SET STEP OFF (to close the DEBUGGING system and return full control to the program)
If you are searching for a problem and you find one, you can also CANCEL the program from the COMMAND window. I'm not sure it will work from within an EXE. Even if it will work from an EXE, this process requires the development environment, so it won't work on any PC that doesn't have VFP9 installed.