Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
How to pass value of parameters from UI to BIZ to DA
Message
From
21/01/2008 10:24:16
 
General information
Forum:
Visual FoxPro
Category:
Other
Environment versions
Visual FoxPro:
VFP 9 SP1
Miscellaneous
Thread ID:
01283283
Message ID:
01283644
Views:
9
The properties of the form are not visible to the biz class unless you make them visible. You can either:

A) Pass the THISFORM pointer to the biz class:
*-- In the form Init:
THIS.oBiz = NEWOBJECT ("MyBiz", "MyBiz")
THIS.oBiz.oParent = THISFORM    && Assume that the biz class have a public property called oParent

*-- In the biz class:
THIS.My_Property = THIS.oParent.My_Property    && The form My_Property must be public
B) Pass the property to the biz class if it's read-only:
*-- In the form Init:
THIS.oBiz = NEWOBJECT ("MyBiz", "MyBiz")
THIS.oBiz.My_Property = THISFORM.My_Property    && The biz class My_Property must be public
C) Pass a parameter object to the biz class:
*-- In the form Init:
THIS.oBiz = NEWOBJECT ("MyBiz", "MyBiz")
loParam = NEWOBJECT ("MyParam", "MyParam")
loParam.My_Property = THISFORM.My_Property    && The parameter class have a public property called My_Property
THIS.oBiz.oParam = loParam    && Assume that the biz class have a public property called oParam

*-- In the biz class:
THIS.My_Property = THIS.oParam.My_Property
I prefer option C if you have many parameters to pass because everything is encapsulated inside one class. If you only have one parameter to pass and it's read-only, option B is good. Option A is the quick and dirty way to pass information, but it can also cause circular references and side effects if your not carefull.

>I think what you are saying makes sense, very logical. But something does not work.
>
>Here is how I test this:
>
>I have the following line in a method of the BIZ class:
>
>
>this.my_property = thisform.my_property
>
>
>But I get error "Object is not contained in a Form." So it looks like even though I instantiate BIZ in the INIT method of the UI FORM and reference it to a property of the UI form, "thisform" cannot be references from BIZ class. What am I missing?
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform