Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
READ TIMEOUT has incorrect timing
Message
From
25/03/2013 15:04:53
 
 
General information
Forum:
Visual FoxPro
Category:
Forms & Form designer
Environment versions
Visual FoxPro:
VFP 7 SP1
OS:
Windows XP SP2
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01569181
Message ID:
01569188
Views:
69
If you have access to the source code, you could try a workaround. After the ACTIVATE WINDOW MsgBox line, add the code:
_screen.forms(1).AddObject("tmrAutoClose", "myTimer", tnTimeout)
And then have a myTimer class defined which is something like (untested):
DEFINE CLASS myTimer AS Timer
    PROCEDURE Init
    LPARAMETERS tnTimeout
        this.Interval = tnTimeout * 1000

    PROCEDURE Timer
        this.Enabled = .f.
        KEYBOARD '{Escape}'
ENDDEFINE
If something like this works, then you could write a little parser tool which reads in your .SPR files, and inserts that code appropriately for compilation in the Visual FoxPro version.




>Here is some code derived from legacy code. The TIMEOUT clause does not cause a time out after the specified number of seconds. Is this a known bug?
>
>
local t, ln
>for ln = 1 to 6
>	t = seconds()
>	msgbox( "hello", m.ln * 10 )
>	? m.ln, seconds()-t
>next
>
>FUNCTION MsgBox
>	PARAMETER m.tcMsg, tnTimeout
>
>	local lnChoice, lcMsg
>	
>	lnChoice = 0
>	
>	lcMsg = m.tcMsg + "  (This message should disappear after " + ltrim( str( m.tnTimeout ) ) + " seconds of complete inactivity.)"
>	
>	DEFINE WINDOW MsgBox AT 0,0 SIZE 10, 100 SYSTEM FLOAT SHADOW TITLE "msgbox"
>		
>	ACTIVATE WINDOW MsgBox NOSHOW
>
>	@  2,  2 say m.lcMsg
>	@ 10, 50 GET m.lnChoice FUNCTION '*H'
>			
>	ACTIVATE WINDOW MsgBox
>
>	READ CYCLE MODAL TIMEOUT m.tnTimeout
>
>	RELEASE WINDOW MsgBox
>
>	RETURN
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform