Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
VARTYPE() vs PEMSTATUS()
Message
De
09/01/2009 08:31:03
Jay Johengen
Altamahaw-Ossipee, Caroline du Nord, États-Unis
 
 
À
09/01/2009 08:15:06
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Divers
Thread ID:
01372210
Message ID:
01372320
Vues:
25
>>>>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?
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform