Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Valid and LostFocus events don't fire
Message
General information
Forum:
Visual FoxPro
Category:
Forms & Form designer
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows 7
Network:
Windows 2003 Server
Database:
MS SQL Server
Miscellaneous
Thread ID:
01482629
Message ID:
01482656
Views:
76
I've added messagebox at the very top of the Valid code and it didn't work. Yet the value is adjusted correctly (e.g. 0 is added when I type one digit).

The only thing is left to try is to re-start VFP. But I don't have high hopes here.



>>Hi everybody,
>>
>>I have a complex form with a few ActiveX controls. On the right side of the form I have a container with many controls (some of them quite complex).
>>
>>In the Init of the container I have this code
>>
>>for each loControl in this.controls foxobject
>>	if pemstatus(m.loControl,'InteractiveChange',5)
>>		if m.loControl.class <> 'Vfpdatepicker'
>>			bindevent(m.loControl,"InteractiveChange",thisform,"InfoChanged",1)
>>		 *   bindevent(m.loControl,"Valid",thisform,"InfoChanged")
>>		else
>>			bindevent(m.loControl,"DateChanged",thisform,"InfoChanged",1)
>>		endif
>>	endif
>>
>>And in the Valid event of the textbox (that represents time control) I have this code
>>
>>local lnColon, lnReturn
>>lnReturn = 1
>>SET STEP ON 
>>*** Pad leading zeros onto the hours and minutes.  I.e. "8 :00" or " 8: 0" becomes "08:00"
>>lnColon = atc(":", this.value, 1)
>>this.value = padl(alltrim(left(this.value,lnColon-1)), 2, '0') + ':' + padl(alltrim(substr(this.value,lnColon+1)), 2, '0')
>>if val(left(this.value, 2)) >= 24 or val(substr(this.value, 4, 2)) >= 60
>>    WAIT WINDOW NOWAIT 'Invalid entry!'
>>	lnReturn = 0
>>endif
>>
>>if m.lnReturn = 1
>>	try
>>		if val(strtran(this.value,':','.')) < val(strtran(this.parent.start_time.value, ':','.'))
>>			=messagebox('End Time must be greater than Start Time',48,'Invalid Time range')
>>			lnReturn = 0
>>		endif
>>	catch
>>*
>>	endtry
>>endif
>>
>>return m.lnReturn
>>
>>
>>However, when I leave the control, the SET STEP ON is not firing and I never got my messagebox. I have the same behavior with the prior control (which is much much more complex - it's a date picker control). I can not make validation for these controls to test start vs. end dates.
>>
>>I'm guessing a possibility can be to put a transparent shape behind controls and put validation code in the shape LostFocus event. But is there a way to do this with my current implementation?
>>
>>Can you tell me what may be wrong in my code?
>>
>>Thanks in advance.
>
>Is there anything in the interactivechage() or when() event of the textbox or anything in the lostfocus() of the container?
If it's not broken, fix it until it is.


My Blog
Previous
Reply
Map
View

Click here to load this message in the networking platform