Razz,Thank you very much that did the trick.On a side note, I have been using
Rbase since 1983(when I was in the 'ol biddness') and am totally self taught,
but this year I will make it to one of the training programs(finally have the
time), my question to you is - can teach an old dog new tricks? Stupid
question because I know the answer is YES.
Tom Hart
On Friday, January 8, 2016 8:09 AM, A. Razzak Memon <[email protected]>
wrote:
At 08:26 AM 1/8/2016, TOM HART wrote:
>I can get the action to fire both on before and on after but I cannot get
>the form to close. I have a watch variable that sets to 0 if the password
>fails and I've tried on entry to the first field if vwatch =0 then
>closewindow
>endif
>
>but that does not close form
You CANNOT call (execute) a Custom Form Action in On Before Form Start EEP.
Carefully TRACE the form to see the exact behavior.
Having stated that ...
If you wish to validate a user access by asking a password as On Before Form
Start EEP, close the form if not a valid password, then, use the following
technique.
-- A very simple example
-- Use the following code as On Before Form Start EEP
-- January 8, 2016
-- Start here ...
SET VAR vPassword TEXT = NULL
SET VAR vOK TEXT = NULL
SET VAR vEndkey TEXT = NULL
SET VAR vCaption TEXT = 'Application Security'
LABEL GetPassword
CLS
DIALOG 'Enter Password' vPassword=29 vEndKey PASSWORD +
CAPTION .vCaption ICON WINDOWS +
OPTION WINDOW_BACK_COLOR WHITE +
|MESSAGE_BACK_COLOR WHITE +
|MESSAGE_FONT_NAME Tahoma +
|MESSAGE_FONT_COLOR RED +
|MESSAGE_FONT_SIZE 12 +
|INPUT_BACKGROUND_COLOR YELLOW +
|INPUT_FONT_NAME Tahoma +
|INPUT_FONT_COLOR RED +
|INPUT_FONT_SIZE 12 +
|BUTTON_YES_CAPTION &Continue +
|BUTTON_YES_COLOR WHITE +
|BUTTON_YES_FONT_COLOR GREEN +
|BUTTON_NO_CAPTION C&ancel +
|BUTTON_NO_COLOR WHITE +
|BUTTON_NO_FONT_COLOR RED
IF vPassword IS NULL OR vEndKey = '[Esc]' THEN
SET VAR vOK = 'No'
GOTO Done
ENDIF
IF vPassword = 'whatever' THEN
SET VAR vOK = 'Yes'
GOTO Done
ELSE
CLS
PAUSE 2 USING 'Invalid Password Entered!' +
CAPTION .vCaption ICON WARNING +
BUTTON 'Press any key to re-enter password'+
OPTION BACK_COLOR WHITE +
|MESSAGE_FONT_NAME Tahoma +
|MESSAGE_FONT_COLOR RED +
|MESSAGE_FONT_SIZE 11
SET VAR vPassword = NULL
GOTO GetPassword
ENDIF
LABEL Done
CLEAR VARIABLES vPassword,vEndKey,vCaption
RETURN
-- End here ...
And, use the following code as On After Form Start EEP:
-- Start here ...
IF vOK = 'No' THEN
CLOSEWINDOW
ENDIF
CLEAR VARIABLES vOK
RETURN
-- End here ...
That should provide you with a very simple technique to validate the access
and then close the form accordingly.
Note:
Make sure to change the QUOTE settings used in this example based upon your
database QUOTE settings, if necessary.
Too overwhelming? Hopefully not!
Very Best R:egards,
Razzak