I'm still on 602 but if I ever moved to J7 I would certainly need the timer to work, with the blocking problem fixed.
Henry Rich On 1/5/2012 3:17 PM, Eric Iverson wrote: > Just realized wd'timer' keeps firing and if that is what you want then you > might be able to ignore the block and simply get the next one. Somthing > like the following: > > jjs'intervaltimer=setInterval("if(0==rqstate)jdoajax([],\"\",\"jev_timer[0\");",4000);' > > > The rqstate test avoids the block. The intervaltimer handle can be used to > kill the timer. That is, > > jjs'clearInterval(intervaltimer)' > > Note that if the timer event is doing output it may be hard to get run the > line to clear the timer. In this case you can open another jijx window and > do it from there. > > Maybe this is enough for you current requirements. > > On Thu, Jan 5, 2012 at 2:32 PM, Eric Iverson<eric.b.iver...@gmail.com>wrote: > >> Ian, >> >> A bit more complete (but without the blocking problem fixed) follows: >> >> jev_timer=: 3 : 'i.5' >> jjs'setTimeout("jdoajax([],\"\",\"jev_timer[0\");",4000);' >> >> Note that the name jev_timer input line is not shown as lines that start >> with jev_ are assumed to be events and are not logged. >> >> Let me know if you'd like the blocking problem fixed. >> >> On Thu, Jan 5, 2012 at 2:18 PM, Eric Iverson<eric.b.iver...@gmail.com>wrote: >> >>> Here is a very rough start on showing how to do a timer event for JHS. >>> >>> jjs'setTimeout("jdoajax([],\"\",\"a=: 123\");",4000);' >>> >>> Verb jjs executes javascript sentences. The setTimeout javascript >>> sentence runs its first arg (a javascript sentence) when 4 seconds has >>> elapsed. The \" sequence escapes the " and allows "s inside the quoted >>> string. >>> >>> The next step is to replace the a=: 123 J sentence with a call to your >>> timer event handler. >>> >>> This solution is not complete because the ajax execution of the J >>> sentence is blocked if a J sentence is already running. This can be >>> detected and dealt with. This could be done by a more complicated jjs >>> sentence that requeues the setTimeout until it is allowed to execute. A >>> better solution would be that the core ajax framework recognize a blocked >>> timer event and to run it immediately after the blocking sentence has >>> finished. >>> >>> If the above meets your requirements except for the blocking problem I >>> will clean things up and enhance the ajax request framework to run a >>> blocked timer event. >>> >>> >>> On Thu, Jan 5, 2012 at 2:03 PM, Eric >>> Iverson<eric.b.iver...@gmail.com>wrote: >>> >>>> cd (calls to external libraries) works on all platforms and specifically >>>> J can use cd to call dylibs on Mac. However, the timer routine you referred >>>> to is windows only and I don't know of the mac equivalent. A dylib call is >>>> probably not the way to provide timer events for JHS regardless of server >>>> platform. >>>> >>>> >>>> On Thu, Jan 5, 2012 at 1:45 PM, David Mitchell<davidmitch...@att.net>wrote: >>>> >>>>> You are welcome, Ian. >>>>> >>>>> I am a bit curious about J support for dylibs. I currently do not have >>>>> any way >>>>> to try it myself, but the J DLL documentation does say: >>>>> >>>>> J can call procedures that are compiled in a shared library file. In >>>>> Windows >>>>> these files are called DLLs (dynamic link libraries) and have a .dll >>>>> extension. >>>>> In Linux they are called shared libraries or shared objects and have a >>>>> .so >>>>> extension. In Mac they are called dynamic libraries and have a .dylib >>>>> extension. >>>>> The term DLL is used here for all platforms. A procedure in a DLL is >>>>> called by >>>>> its name and filename. >>>>> >>>>> It is true that there may not be dylib functionality for Darwin that >>>>> matches >>>>> what Windows has for timer usage, but I saw a function >>>>> "dispatch_source_set_timer" in the GCD reference from Apple that seemed >>>>> as if it >>>>> might be a start. >>>>> >>>>> On 1/5/2012 12:54, Ian Clark wrote: >>>>>> Thanks, David. >>>>>> >>>>>> But this uses 'dll'. AFAIK there's no comparable way of calling dylibs >>>>>> in Darwin. >>>>>> >>>>>> On Thu, Jan 5, 2012 at 5:44 PM, David Mitchell<davidmitch...@att.net> >>>>> wrote: >>>>>>> Here is a version that works with J602 and J701 jconsole. It does >>>>> not work with >>>>>>> jhs or jgtk. I have not tested it extensively and it may have side >>>>> effects or >>>>>>> bugs that I haven't found yet. >>>>>>> >>>>>>> http://www.jsoftware.com/jwiki/Scripts/WindowsTimer >>>>>>> >>>>>>> On 1/5/2012 8:27, Ian Clark wrote: >>>>>>>> How do I get a timer in j701 jhs (or jconsole)? >>>>>>>> >>>>>>>> I've been assuming wd (11!:0) doesn't work at all in j701 (in j602 >>>>>>>> you'd do: 11!:0 'timer 3' for a callback in 3 secs). >>>>>>>> >>>>>>>> BTW J701 help ( >>>>> http://www.jsoftware.com/docs/help701/dictionary/dx011.htm) >>>>>>>> still refers to 11!:0 but I assume that's just because it's been >>>>>>>> overlooked...? >>>>>>>> >>>>> ---------------------------------------------------------------------- >>>>>>>> For information about J forums see >>>>> http://www.jsoftware.com/forums.htm >>>>>>>> >>>>>>> >>>>> ---------------------------------------------------------------------- >>>>>>> For information about J forums see >>>>> http://www.jsoftware.com/forums.htm >>>>>> ---------------------------------------------------------------------- >>>>>> For information about J forums see >>>>> http://www.jsoftware.com/forums.htm >>>>>> >>>>> ---------------------------------------------------------------------- >>>>> For information about J forums see http://www.jsoftware.com/forums.htm >>>>> >>>> >>>> >>> >> > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm