Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Application Object Best Practices
Message
De
25/07/2011 09:10:28
 
 
À
24/07/2011 21:09:07
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:
01519029
Message ID:
01519058
Vues:
86
>Hi Experts,
>
>I have a question re best practices on creating an Application Object.
>
>Should objects coming from say a Connections Manager or Forms Manager be a member object of - already instantiated - by the Application Object like so:
>
>
>oApp = CREATEOBJECT ("myApplicationClass")     --> also instantiates oFormsMgr, oConnMgr
>oApp.oFormsMgr.MyMethod()
>oApp.oConnMgr.SomeOtherMethod()
>
>
>or can exists 'stand-alone', like so:
>
>oApp = CREATEOBJECT ("myApplicationClass")    
>
>IF NOT oApp.Connect()
>    MESSAGEBOX( 'Unable to connect' )
>    ** do whatever else
>ENDIF
>
>PROCEDURE Connect
>  LOCAL llResult
>  oConnMgr = CREATEOBJECT( 'myConnectionMgr' )
>  llResult = oConnMgr.Connect()
>  RETURN lnResult
>
>
>Thanks in Advance
>Dennis

I guess it depends but your second option doesn't look good if you need 'myConnectionMgr' to stick around. Why not make oConnMgr a property of the app but use an access method that will create it if required. Something like:
IF This.oConnMgr = .F.
  THIS.oConnMgr = CREATEOBJECT("ConnMgr")
ENDIF
RETURN THIS.oConnMgr
That way you can still use code like 'x = app.oConnMgr.Connect()' but without incurring the overhead of creating an instance of ConnMgr unless it is required.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform