Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Application Object Best Practices 2
Message
De
29/07/2011 21:55:39
 
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Classes - VCX
Versions des environnements
Visual FoxPro:
VFP 9 SP2
OS:
Windows 7
Network:
Windows 2003 Server
Database:
MySQL
Application:
Desktop
Divers
Thread ID:
01519662
Message ID:
01519675
Vues:
49
Christian,

I will try that 'trick'. Thanks.

So, I take it that you also prefer the first option. What are the pitfalls of using the 2nd option, that of providing an 'interface' instead of allowing 'direct access' to the member object?

Dennis


>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
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform