Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Discussion -Name Expression, Evaluate, Macro Substitutio
Message
 
 
À
19/02/2007 11:16:02
Information générale
Forum:
Visual FoxPro
Catégorie:
Programmation Orientée Object
Versions des environnements
Visual FoxPro:
VFP 9
OS:
Windows XP SP2
Network:
Windows 2003 Server
Database:
MS SQL Server
Divers
Thread ID:
01197046
Message ID:
01197054
Vues:
13
>This is interesting. My last lines didn't get included in your reply...strange. I must have updated my message (left out that last couple of lines when I cut and pasted) at the same time you posted yours?
>

Perhaps. Right now I was updating my own reply (wanted to add, that if you need to invoke a method, you need to use evaluate).

Anyway, let me re-read your original question to see what I missed.

>
>>I use STORE command and name expression for such manipulations. The only place for macro here, which I don't see a way to avoid, is PUBLIC declaration.
>>
>>For everything else:
>>
>>store createobject('ConnClass.ConnObj') to (m.lcConn)
>>store TRIM(mytable.cserver) to (m.lcConnServer)
>>
>>etc.
>>
>>
>>>Maybe I am just slow this Monday morning. If I want to create an object reference on the fly and set the values of its properties (Object will be public not local):
>>>
>>>For example:
>>>
>>>* Table with values to use for object's properties
>>>* Mytable.cname && cName will become part of object's name
>>>* Mytable.ctype && cType will become part of object's name
>>>* Mytable.cserver && cServer will be the object's pServerName value
>>>* Scan through the table 'mytable' and create an object from each record
>>>
>>>
>>>lcConn = "'o'+mytable.cname+'_'+mytable.ctype     && e.g. lcConn now equals 'oDSN_Data'
>>>PUBLIC &lcConn
>>>&lcConn = CREATEOBJECT('ConnClass.ConnObj')       && Create an object named (lcConn)
>>>lcConnServer = lcConn + '.pServerName'            && Set the connection object servername prop
>>>&lcConnServer = TRIM(mytable.cserver)             && oDSN_Data.pServerName now = mytable.cserver value
>>>
>>>or
>>>
>>>&lcConnServer..pServerName = TRIM(mytable.cserver) && oDSN_Data.pServerName now = mytable.cserver value
>>>
>>>or
>>>
>>>loControl = EVAL(lcConn)                           && Should be fastest to process
>>>lControl.pServerName = TRIM(mytable.cserver)       && oDSN_Data.pServerName now = mytable.cserver value
>>>
>>>
>>>Or is there a better way?
Which will be fastest if I have to create 10 similar objects with 10 properties each sequentially? Which will be easiest to maintain (by other developers)?
If it's not broken, fix it until it is.


My Blog
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform