Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Find a flaw in the logic
Message
 
 
General information
Forum:
Visual FoxPro
Category:
Classes - VCX
Environment versions
Visual FoxPro:
VFP 9
OS:
Windows XP SP2
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01086027
Message ID:
01086040
Views:
22
>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
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform