Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
VARTYPE() vs PEMSTATUS()
Message
From
09/01/2009 08:50:50
 
 
To
09/01/2009 08:31:03
Jay Johengen
Altamahaw-Ossipee, North Carolina, United States
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
01372210
Message ID:
01372325
Views:
21
>>>>>Is there any difference between these two functions - Dragan's anticipated comments aside - or advantage of one over the other?
>>>>>
>>>>>IF VARTYPE( THISFORM.tmrCheckMousePosition ) = 'O'
>>>>>
>>>>>
>>>>>IF PEMSTATUS(THISFORM.tmrCheckMousePosition,'O',3)
>>>>>
>>>>
>>>>Are equal for not protected or hidden properties, but :
>>>>
>>>>
>>>>CLEAR
>>>>X = CREATEOBJECT("XX")
>>>>? PEMSTATUS(m.x,"property",5)
>>>>? VARTYPE(x.undef)				&& This work !!!!
>>>>? VARTYPE(x.property) 			&& Expected : "U" too ; Error ! this is a BUG
>>>>
>>>>DEFINE CLASS xx as Custom
>>>>	PROTECTED property 
>>>>	
>>>>	PROCEDURE Init
>>>>	? PEMSTATUS(m.this,"property",5),VARTYPE(this.property)
>>>>	
>>>>ENDDEFINE
>>>>
>>>
>>>Why did it error on this line?
>>>
>>>? VARTYPE(x.property) 			&& Expected : "U" too ; Error ! this is a BUG
>>>
>>
>>As Fabio wrote, it's a bug, Vartype() errors on not existing properrties. Try
>>?Type('_vfp.alias') && 'U'
>>?Vartype(_vfp.alias) && Error
>
>So, then PEMSTATUS() would be the way to go for objects. I guess there is no way for one thing to check for the existence of both vars and objects. I wonder if there is a way to cascade the VARTYPE and PEMSTATUS to achieve this? Without getting any errors?

I did not read all the messages. But if you only need to check whether a variable, property or object really exists, type() will do the job fine.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform