Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Application Object Best Practices 2
Message
From
29/07/2011 21:45:14
 
 
To
29/07/2011 20:58:39
General information
Forum:
Visual FoxPro
Category:
Classes - VCX
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows 7
Network:
Windows 2003 Server
Database:
MySQL
Application:
Desktop
Miscellaneous
Thread ID:
01519662
Message ID:
01519673
Views:
43
You are correct, this is a limitation of using object references in VFP, because you don't know the type.

There is a workaround for this that you can use:
LOCAL loActiveUser AS UserBiz OF Security.VCX
loActiveUser = oApp.oActiveUser
loActiveUser.SomeMethod()
It's more lines, but makes the code very easy to write and read.
You can create intellisense shortcuts that provide you with the first two lines. When I need to do someting on the ActiveUser object, I type "ACTIVEUSER" in the method, and the instellisense code extends it to the first two lines in my example. Then I can continue writing the code referencing the object knowing the type.

>Craig,
>
>So, which means, we have to provide info on the Properties and Methods of each member object?
>
>Dennis
>
>
>
>>the first.
>>
>>>Hi Experts,
>>>
>>>I have decided to have an Application Object, with its associated 'member objects' attached to it, like so:
>>>
>>>oApp = CREATEOBJECT( "myApplication" )       && also instantiates oMember1, oMember2...
>>>
>>>My question is, should other objects be able to 'directly' get hold of the member objects like so:
>>>
>>>oApp.oMember1.SomeMethod()
>>>oApp.oMember2.SomeOtherMethod()
>>>loMember1 = oApp.oMember1
>>>loMember1.SomeMethod()
>>>
>>>Or, should the Application Object provide an 'interface' to them, like so:
>>>
>>>oApp.SomeMethodofMember1()     && will call This.oMember1.SomeMethod()
>>>oApp.SomePropertyofMember1     && will access This.oMember1.SomeProperty
>>>
>>>oApp.SomeMethodofMember2()     && will call This.oMember2.SomeMethod()
>>>oApp.SomePropertyofMember2     && will access This.oMember2.SomeProperty
>>>
>>>Thanks In Advance
>>>Dennis
Christian Isberner
Software Consultant
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform