Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Can not get it right
Message
From
03/02/2006 08:45:47
 
 
To
03/02/2006 06:40:56
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Environment versions
Visual FoxPro:
VFP 9
OS:
Windows XP SP2
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01092465
Message ID:
01093295
Views:
25
>>>>>>>>>lo=eval("m.toThis." + m.lcObjName)
>>>>>>>>
>>>>>>>>That's I believe what I tried. But may be I did put mismatched quotes... I'll re-try.
>>>>>>>>
>>>>>>>>UPDATE. Yes, it worked. I had a very bad headache the whole day yesterday at work, may be I just could not concentrate... My colleague told me he also had it and my son did, so I think it's weather related...
>>>>>>>
>>>>>>>use
>>>>>>>
>>>>>>>lo=GETPEM(m.toThis,m.lcObjName)
>>>>>>>
>>>>>>
>>>>>>I thought about it too. But anyway, evaluate works and it seems good enough for me.
>>>>>
>>>>>It work ( slower ),
>>>>>but it is formally wrong when the object reference is static
>>>>>as in :
>>>>>"m.toThis."
>>>>
>>>>Could you please elaborate more? Also GetPem doesn't have object reference as a return type, that's why I thought it would not work.
>>>
>>>??? why ???
>>>If GETPEM didn't return an object reference, what it could return?
>>>
>>>>
>>>>Thanks.
>>>
>>>I mean you this
>>>
>>>* this it is VFP static code and then it is faster
>>>r1=GETPEM(m.toThis,m.lcObjName)
>>>* this return the same value,
>>>* but when someone uses unnecessary dynamic code, it do a mistake
>>>r2=eval("m.toThis." + m.lcObjName)
>>>? "this print true",r1=r2
>>>
>>
>>So everything done before VFP 6 was a mistake? GETPEM was added in VFP6.
>
>I think he meant a mistake in terms of speed

No. It is mistake.
Same concept is applied to m. prefix, read a variable without m. is mistake.

Speed up is a side effect.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform