Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Find a flaw in the logic
Message
 
 
À
12/01/2006 09:38:03
Information générale
Forum:
Visual FoxPro
Catégorie:
Classes - VCX
Versions des environnements
Visual FoxPro:
VFP 9
OS:
Windows XP SP2
Database:
Visual FoxPro
Divers
Thread ID:
01086027
Message ID:
01086040
Vues:
20
>m.loObject.enabled = m.loObject.enabled and m.tlEnabled
>
>1) .T. + .T. = .T.
>2) .T. + .F. = .F.
>3) .F. + .T. = .F.
>4) .F. + .F. = .F.
>
>I guess case 3 is not what you expect.

You got it <g> Yes, I had to change this to create a new property on the fly. E.g. that's how I changed it a minute ago, which unfortunately will slow this method down a bit, but I don't see a better way:
lparameters tlEnabled, toObject

if vartype(m.toObject) <>"O"
	toObject = this
endif

local lnI, lcBaseClass, loObject
local array laIgnoreClasses[1]
store space(100) to laIgnoreClasses[1]
alines(laIgnoreClasses, this.cClassFilter,", ")

for each m.loObject in m.toObject.objects
	if not ascan(laIgnoreClasses,upper(m.loObject.baseclass)) > 0 ;
			and not upper(m.loObject.parentclass) = [ABIZOBJ]
		if pemstatus(m.loObject, "OBJECTS", 5) && Container object
			this.SetEnabledStatus(m.tlEnabled, m.loObject) && Call the method recursively
		else
			if pemstatus(m.loObject, "Enabled", 5)
				if not pemstatus(m.loObject, "lOriginalEnabledStatus", 5)
					m.loObject.addproperty('lOriginalEnabledStatus', m.loObject.enabled)
				endif
				m.loObject.enabled = m.loObject.lOriginalEnabledStatus and m.tlEnabled
			endif
		endif
	endif
next
If it's not broken, fix it until it is.


My Blog
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform