Help with Replace Background Indexing (AREV Specific)
At 19 APR 2001 07:13:53AM Barry Stevens wrote:
I have a subroutine that I call from the "Replace Background Indexing".
There is nothing in the Post Index Check.
Delay before indexing check is 30 secs
Time between indexing checks is 0
The code is below.
The problem I have is that somewhere in a revmedia it said that you have to have the line:
@data=@move.keys
so that it will call the routine after the first idle call. (which works. If you dont have it it wont get called again until the next user key stroke)
The problem is that sometimes the users have say a popup up and it comes up witha message that F4 is not valid in a popup, and they are not happy about that.
Is there any other transperent way I can get the idle time loop to work.
The routine is checking when backup is about to start and has started. The backup routine script creates the first file COPY.TXT then waits 6mins then renames it to BACKUP.TXT, waits 3mins and starts the backup, when finished it deletes it.
PROGRAM SOURCE* subroutine background_check_backup declare subroutine msg, delay $insert INCLUDE, EDIT.KEYS OSFile=BCF\COPY.TXT" osread Foo from OSFile then osclose OSFile Image=" msg("%B%|%B%|%B%|%B%|WARNING|||BACKUP IS DUE TO START IN 3 MINS||PLEASE COMPLETE YOUR CURRENT ENTRY!!||","T10") end OSFile=BCF\BACKUP.TXT" osread Foo from OSFile then osclose OSFile Image=" msg("%B% %B%||||SUSPENDED|||BACKUP IS RUNNING|||PLEASE WAIT…||APPROX 20 mins||","UB",Image) OpenFlag=1 loop while OpenFlag delay(5) osread Foo from OSFile else OpenFlag=0 repeat msg("","DB",Image) end *Load keyboard buffer with F4 to reinitialize INPUT.CHAR @data=@move.keys return
TIA
Barry
At 20 APR 2001 10:39AM Dave Harmacek wrote:
I've used CATALYST("K", "{RIGHT}{LEFT}") This should be valid in a popup but not change their position.
At 20 APR 2001 08:47PM Barry Stevens wrote:
Dave
THANK YOU VERY MUCH!!
Bazza
At 23 APR 2001 12:04PM Cameron Christie wrote:
{RIGHT}{LEFT}*shouldn't* give problems, but the one we use which is gauaranteed problem-free is to use CTRL-ENTER x2 (togging keystroke capture off/on) - works anywhere, with no ill effects…
FWIW,
Cameron
At 24 APR 2001 08:57PM Barry Stevens wrote:
"{RIGHT}{LEFT}*shouldn't* give problems"
If the user has a menu dropped down, then the {LEFT} doesnt take. I assume it must be a timing thing.
I had to revet back to @Data because catalyst doesnt invoke the keystrokes until the user hits a key.
I will see if your suggestion works.
Barry
At 25 APR 2001 07:57PM Barry Stevens wrote:
Cameron,
Great, fixes my problem with the menu jump, thanks heaps. (used @data=)
Barry
At 13 FEB 2005 05:23PM Hippo wrote:
I am currently experimenting with the background processes …
The keys ALT-7, 2xCTRL-ENTER does not work in popup, RIGHT:LEFT does not work in application windows
Question 1: Is there a way to create "DUMMY KEY", which will do nothing in any environment (even may be it is not on the keyboard), but it is correct in any environment? (To be used for @DATA=DUMMY to force the background process to continue in idle)
Question 2: If 1 fails … how can the background process test the current status … to choose correct keys for the situation?
Thanks
At 14 FEB 2005 09:02AM Hippo wrote:
I will try to find the DUMMY key solution but …
Other correct codding of Replace index process should do the waiting for a key loop with its own logic inside the loop. The pressed key should be put into @DATA and (may be to @SCRIPT if @CAPTURE) and should cause the return.
The advantage of the later is … it does not depend on the rest of the application. The advantage of the former is easier codding of the background process(es). If I understand it well … there is just one background process subroutine per application … no need to simplify "them".
At 16 FEB 2005 08:25AM Hippo wrote:
I have definitely decided to use the dummy key solution … otherwise there will be problems with mouse …
I choose EQU DUMMY$KEY TO \001D\ ;*(I hope this keycode is used by no keyboard).
I have added it to @PRIORITY.INT=DUMMY$KEY.
I have added @MACRO.KEYS=' which implements doing nothing.
This solution works only when
@ENVIRON.SET is enabled (say =1)
replace background sets @DATA=DUMMY$KEY at return.
First tests are OK.