Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
THIS.Requery() isn't requerying
Message
From
19/06/1998 11:31:38
Bob Lucas
The WordWare Agency
Alberta, Canada
 
General information
Forum:
Visual FoxPro
Category:
The Mere Mortals Framework
Miscellaneous
Thread ID:
00108868
Message ID:
00109921
Views:
30
>PostInitHook()
>DIMENSION THIS.aViewParameters[2,3] && 5 views in environment
>This.aViewParameters[1,VPARM_NAME] = 'vp_prop1' && Parameters assoc. w/view1
>This.aViewParameters[1,VPARM_EXPR] = 'This.prop1'
>This.aViewParameters[1,VPARM_VIEW] = v_view1
>This.aViewParameters[2,VPARM_NAME] = 'vp_prop3' && Param. w/view 3
>This.aViewParameters[2,VPARM_EXPR] = 'This.prop3'
>This.aViewParameters[2,VPARM_VIEW] = v_view3
>
>Of course, you'd have to check to see how the aViewParameters array was dimensioned first, so older apps wouldn't break with this change. It might also make sense to add a new property so you could select which view to requery when the REQUERY() method is called.
>
>Just an idea.


Paul;

Perhaps another way of looking at it is to use another business object for any views that requiring any type of processing. We sort of need a business object lite, especially one that does not include a cSessionEnvironment object! With this object which would automatically link into the parent/child tree, you can do a requeryallchildren from the parent.

My logic is sort of this:

the primary alias of the business object gets all the action. Any other views identified in the DE class for that object are treated as static views and are only there in a supporting role, lookups, descriptions, etc. If you actually have to 'do' anything with a view, it should have its own object to do it.

Instead of having one object trying to do a whole bunch of stuff, have multiple objects doing it calling down the tree structure.

I've been debating creating a custom business object class that is not a container and has all the functionality of the current business object (but a cEnvironment property instead of a CdeLoader that identifies the class to instantiate and does it itself without the need of another object. It should be faster. I might make it a label so I could put the cursor name in the caption. I would still have to create a behavior object but this could be referenced by a property and should work the same.

Oh yes, this means adding ONE sessionenvironment object to the base form class.

So Kevin, if you're listening and if this works well at all, I'll trade you for a new property added to all the baseclasses in ccontrls called cSecurityID so I can build security down to the object level on the form. (I would associate these id's with User Groups). I also have to set up security based on data, ie, a salesman can only see his customers and their records, but managers can see everything. I'd like a framework type method for implementation but haven't figured out what it will be yet!
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform