When the initial DIR.DIR file is editted
PROFILE is executed twice and executes its
macros twice AFTER it finishes both its executions and
somehow passes internal variables to the macros
incorrectly. The first execution of a macro gets the var
from the 2nd execution of PROFILE and vice-versa!
Here is an example of my log file entries:
18Mar2008 10:30:06.046000 PROFILE Initial() is True! ctr=1
18Mar2008 10:30:06.062000 UserProf starting! 1 C:\ C:\ 18Mar2008 10:30:06.171000 PROFILE Initial() is True! ctr=2
18Mar2008 10:30:08.093000 UserProf starting! 0 C:\ C:\ 18Mar2008 10:30:09.140000 USERPROF finishing: CTR= 2 initial?= 0 INITIAL()=1
18Mar2008 10:30:10.156000 USERPROF finishing: CTR= 2 initial?= 1 INITIAL()=1
PROFILE sets/increments the ctr var and invokes USERPROF thusly:
MACRO USERPROF (ctr=1) parms
and USERPROF sets INITIAL? to the first arg and uses EDITV to get the value of ctr. There is a SYSSLEEP 1 in USERPROF just before it finishes, to provide a timestamp difference.
The last two log entries show that USERPROF did not finish in the same order it started!