Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Problem with initial value of property
Message
From
28/09/2012 20:59:04
 
 
General information
Forum:
Visual FoxPro
Category:
Classes - VCX
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows XP SP2
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01553671
Message ID:
01553915
Views:
60
I have no recollection, other than it was a long time ago, here in the UT.

Nor do I think that anybody ever said that it was by design, but rather that is was one of the effects of the design.



>To be honest, I expected this reply. :)
>
>Can you recall who it was here on the UT that learned you and others that it is by design? Was it someone from MS or simply someone else?
>
>>You wrote: It cannot possibly be by design, as it has nowhere been documented.
>>
>>I disagree with your assertion. Simply because something is not documented does not mean it is not a result of the design. Some features
>>are only "documented" by word of mouth, which is how Iearned of this, long ago, here in the UT.
>>
>>
>>
>>>Hi Doug,
>>>
>>>Your Nope is simply incorrect. It cannot possibly be by design, as it has nowhere been documented.
>>>
>>>The reason you mention is far sought, as it would have been only a simple extra piece of code to re-initialize the properties, without almost any impact on the performance.
>>>
>>>I am also almost sure that this flaw is not occurring in scx's.
>>>
>>>>Hi Peter.
>>>>
>>>>>'By-design' may be what has been told to you, but to me that sounds like a rationalisation, to hide the real reason: a design flaw or simply a blind spot for this when implementing it, in both cases a flaw they somehow didn't want to repair.
>>>>
>>>>Nope, Jim is right -- it's by design, and has been there since VFP 3.0. The reason is the way VFP handles classes: a class is a template for an object. As Jim notes, when you instantiate a class for the first time, the class is read into memory and any properties with "=" are evaluated. VFP then copies the class definition to create the object. Instantiating it again creates another copy, but with the same property values as the class. So, properties with "=" are evaluated for the first object only.
>>>>
>>>>(Thanks to Christof Wollenhaupt for explaining this to me.)
>>>>
>>>>Doug
Jim Nelson
Newbury Park, CA
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform