U00159@HASARA5.BITNET (03/16/87)
I want to execute a routine every 3 seconds. I thought to
do that with SYS$SETIMR. However I have problems with it.
Appendix D-2 of the VAX Fortran User's guide gives an example
of SYS$SETIMR. It says that to execute the AST routine repeatedly
one must reset the timer. My question is : How ?
The program here does not compile.
program try
implicit none
include '($syssrvnam)'
external astproc
integer status
character*(*) delay
parameter (delay='0 00:00:03.00')
logical done
integer bindelay(2)
common /uva/ done, bindelay
volatile /uva/
status = sys$bintim(delay, bindelay)
if ( .not. status) call lib$stop(%VAL(status))
status = sys$setimr(,bindelay,astproc,)
if ( .not. status) call lib$stop(%VAL(status))
done = .false.
do while (.not. done)
end do
end
*--
subroutine astproc
implicit none
include '($syssrvnam)'
include 'sys$library:uisentry'
include 'sys$library:uisusrdef'
integer status
logical done
integer bindelay(2)
common /uva/ done,bindelay
call uis$sound_bell('sys$workstation',4)
C now reset timer
status = SYS$SETIMR(,bindelay,astproc,)
if (.not. status) call lib$stop(%VAL(status))
return
end
*--------
The compiler gives the following messages
FORT-F-INVLEXEME, Variable name, constant or expression invalid in
this context.
[lay,astproc, )] in module astproc
Can someone help me ?
Alco Blom
u00159@HASARA5 (BITNET)
mcvax!u00159@HASARA5.bitnet (UUCP)