I have the following function...note that the GUI is modeless.
(DEFUN c:GBSCC_FormGBSCC_BTNIsolateLayers_OnClicked (/)
(DCL_FORM_HIDE GBSCC_FormGBSCC T)
(alert "Select Layers to Isolate and press {ENTER}")
(COMMAND "layiso")
(DCL_FORM_SHOW GBSCC_FormGBSCC)
)
What is happening is that the user has to either drag the GUI out of the way, or close it, to execute the selection process from COMMAND "layiso".
What I want to happen is that the GUI remains hidden until the COMMAND "layiso" has been completed.
Anyone have any suggestions?
Hi, have a look here: http://www.opendcl.com/forum/index.php?topic=947.msg4759#msg4759
Regards, Fred
This looks like a case of execution continuing before the command is finished. Try this:
(DEFUN c:GBSCC_FormGBSCC_BTNIsolateLayers_OnClicked (/)
(DCL_FORM_HIDE GBSCC_FormGBSCC T)
(alert "Select Layers to Isolate and press {ENTER}")
(COMMAND "layiso")
(while (not (zerop (getvar "CMDACTIVE"))) (command pause))
(DCL_FORM_SHOW GBSCC_FormGBSCC)
)
Hello, sorry, I have ignored that your form is modeless, but nevertheless you have to start layiso asynchronounsly. Please switch the control's EventInvoke property to Asynchronous instead of KeepFocus.
Regards, Fred