Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Error 1734 when setting property
Message
From
06/01/2009 12:18:18
 
 
To
06/01/2009 10:49:03
General information
Forum:
Visual FoxPro
Category:
Classes - VCX
Environment versions
Visual FoxPro:
VFP 8 SP1
OS:
Windows XP SP2
Miscellaneous
Thread ID:
01371076
Message ID:
01371419
Views:
13
>>>>>>>>>>Hi,
>>>>>>>>>>
>>>>>>>>>>What can cause the above error when setting a property of an object?
>>>>>>>>>>
>>>>>>>>>>I have a class derived from 'Container' with a property named 'IsValid' with an access method that simply returns T.
>>>>>>>>>>A second class is derived from this which overrides the IsValid_Access by returning 'This.IsValid'
>>>>>>>>>>
>>>>>>>>>>In the InteractiveChange of a textbox in the class I have:
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>Check Hidden/protected attribute
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>? PEMSTATUS(THIS.Parent,"IsValid",2)
Returns F - everything is public :-{
>>>>>>>
>>>>>>>Rename the IsValid_Access to IsValid_Access_, then try again.
>>>>>>
>>>>>>Thank you ! That worked (once I'd put the sub-classed code into the renamed method)
>>>>>>So are you going to tell me why it worked (i.e. what was wrong before) :-}
>>>>>>
>>>>>>Regards,
>>>>>>Viv
>>>>>>
>>>>>
>>>>>Hard to say something without having the code in my hands.
>>>>>
>>>>>Post IsValid_Access code ...
>>>>Pretty minimal. Just:
IF !THIS.IsValid
>>>>  ?? CHR(7)
>>>>  THIS.Label2.VISIBLE = .T.
>>>>ENDIF
>>>>RETURN THIS.IsValid
>>>>
>>>>Regards,
>>>>Viv
>>>
>>>try to reactivate the method ... now
>>
>>Hi,
>>
>>If I revert to .IsValid_Access the error comes back. Also I've realized that changing the name of the accessor method won't be a satisfactory solution - all the other classes (where the name hasn't changed) lose their functionality unless I manually go through all of them and copy the code from the old .IsValid_Access to the new .IsValid_Access_ . Given that there's 15-20 of them it would be a pain to do have to do it manually....
>>
>
>VFP call IsValid_Access when you read IsValid property and IsValid_Access is not in the call stack.
>VFP don't call IsValid_Access_ ... then you lost the implicit VFP call
>
>I guess that the error fired within sValid_Access ...
>Debug it, find the true line where the error is fired ...

The error fires on '.IsValid = .T.' - it doesn't step into any code (there's no assign method)
?
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform