Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
When is NODEFAULT used?
Message
From
23/04/1999 11:29:28
 
 
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
00211090
Message ID:
00211536
Views:
36
>>>>>>
>>>>>>NODEFAULT is used anytime you see something strange :-). Theoretical definition is that NODEFAULT suppresses base class behaviour, which is actually means some code hidden behind the scene. The most common example: when you finish typing in textbox the focus automatically moves to the next (by tab order) controls. But you did not write code to invoke this behaviour, correct? This is exactly 'hidden'/'internal'/'base class' code. So, if you want instead to move to another controls, then it's safe to say in this control lostfocus event:
>>>>>>Thisform.AnotherControl.Setfocus
>>>>>>NODEFAULT
>>>>>
>>>>>
>>>>>Would this be another example:
>>>>>
>>>>>Say I want to interrupt the built-in LISAG sequence (thanks to Drew). If I execute NODEFAULT at the end of the Initiate event then Show, Activate, and Gotfocus never happen. Am I right?
>>>>>
>>>>>Peter Robinson
>>>>
>>>>No, you should return .F. from Init event.
>>>
>>>The only problem with return .F. from the Init() is that the form won't instantiate if Init() returns .F. - if you want the form to load, set up its DE and hold in an idle until needed, you need to block the Show() event from firing (easy enough to do with the NOSHOW clause in the DO FORM.)
>>
>>Would not be sufficient to set Form.Left=-2000 here?
>
>Not if there was code in the Show() event that you did not want to have run during form instantiation. The NOSHOW clause works fine.

Ok, but I don't use DO FORM :-). I guess, that this requirement I would accomplish using some property-flag. Honestly, I don't put code to Show method either.
Edward Pikman
Independent Consultant
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform