{{tag>category:"OpenInsight" author:"David Singer" author:"rayc@symmetryinfo.com" author:"Don Miller - C3 Inc."}} [[https://www.revelation.com/the-works|Join The Works program to have access to the most current content, and to be able to ask questions and get answers from Revelation staff and the Revelation community]] ==== Gas Guage out of Gas (OpenInsight) ==== === At 15 JUN 2000 06:06:40PM David Singer wrote: === Hey folks, I'm puzzled! I can't even get a simple gas guage. Anybody want to copy the enclosed code verbatim and try on your machine? I would like to know if this code works for somebody (anybody) else, because it does not work for me. If somebody else is successful that fact might help point to the source of a host of other agonizing problems I'm having (besides the SQL7 problems previously posted, we have other wierd ones such as can Create_Table "BT1" and "BT3" but "BT2" can only make a dict -- I get a FS104 error on the effort creating the data portion whenever I *substitute* the word BT2 for BT1 in the system monitor line. This also goes for trying to create the tables "STREET_NUM" and "STREET_NAME"! I've got lots of other tables created, both huge and small, but these 3 elude me, as does the gasguage). Anyway, who is willing to give this code a lookover to see if I've made a mistake? If it works for somebody else, I can take the computer to Rev Soft and run it before their very eyes. Hopefully, however, my tired eyes have missed something obvious... but just in case, I finally went back to the documentation in Msg_Equates and the KB article on "gasguage" to make sure I'm doing it correctly. Here's the code which won't work for me (this should look very familiar except for my anotations). compile function junk() !I'm running under OI 3.7.2 DECLARE FUNCTION MSG $insert Msg_Equates ;! I have version 3.5 of Msg_Equates !Test by running 5 loops of one second each... OrderCnt=5 DEF=' DEF=TESTING!" ;!this is the header text for the window DEF=GC" ;!"G"asguage, supposedly with "C"ancel button, ! but I get the OK button on a message titled ! "TESTING!" DEF=OrderCnt MSGUP=MSG(@WINDOW, DEF) ;!this message waits until I push ! the OK button (no "Cancel" shows up), ! then the loop processes for 5 seconds FOR Order=1 TO OrderCnt GOSUB DO.SOMETHING WHILE MSG(@WINDOW, MSGUP, Order, MSGINSTUPDATE$) ! no progress bar shows up on the screen! ! screen shows no message window at all. NEXT Order MSG(@WINDOW, MSGUP) ;!this puts up a message with the title ! "Message" and the OK button, ! which I have to push to finish the ! program RETURN "FINISHED" DO.SOMETHING: THE.TIME=TIME()+1 LOOP WHILE TIME() LT THE.TIME REPEAT RETURN ---- === At 15 JUN 2000 08:22PM rayc@symmetryinfo.com wrote: === David, Didn't run your code, but I did printed it using New_Blist. Looks Marvelous ! Ray rayc@symmetryinfo.com onmouseover=window.status=imagine ... ;return(true)" [url=http://www.symmetryinfo.Com" onMouseOver=window.status=Imagine ... ' ;return(true)]Symmetry Info[/url] Ray Chan ~ Symmetry Info ---- === At 16 JUN 2000 09:06AM David Singer wrote: === Ray- Nice to know the Msg code "runs" bug-free under the OS "New_Blist"! Is that a multi-tasking multi-user OS? Will it ODBC? Do you have a RDK disk shipping with the product? I'm eagerly awaiting the download of my version. You did deem to send me a copy, yes? Thanks, David ---- === At 16 JUN 2000 09:31AM Don Miller - C3 Inc. wrote: === David .. Are you running your function in "Event Context" - from a form or from a stproc that is called from a form? The Gauge type msg won't work unless it is (you'll see strange behavior similar to what you described). I've routinely used the gasgauge msg for a long time without problems. Usually, I check to see whether it's worth the overhead. If the process will complete in less than 10 seconds (based on the number of rows or other operations), it's probably not worth it. Don Miller C3 Inc. ---- === At 16 JUN 2000 10:18AM rayc@symmetryinfo.com wrote: === David, You should have gotten it long ago. I e-mailed it to this address: dms@inteliport.com. If you don't get it let me know and I zap you another copy. rayc@symmetryinfo.com onmouseover=window.status=imagine ... ;return(true)" [url=http://www.symmetryinfo.Com" onMouseOver=window.status=Imagine ... ' ;return(true)]Symmetry Info[/url] Ray Chan ~ Symmetry Info ---- === At 16 JUN 2000 01:17PM David Singer wrote: === Hmmm, well, no, I suppose. I'm launching the test example "junk" from the system monitor. If I were to launch the example from a button on a window, would the gauge work then? Actually, what I'm trying to accomplish is to report progress on very long jobs. I'm cycling through several years of hundreds of directories in which are hundreds of RevG ROS frames, and reading each frame "record by record", writing the data into one humongous LH file. There are about 10,000 frames (most frames holding several hundred records), and this job will be performed weekly. Don, your observation leads me to believe I'd be better off to put up a simple informational window at the start of each frame, and take it down at the end of each frame. This would have the effect of a "blinking frame" with text changing to show relative position in the job stream. I'm open to any other suggestions, especially those which will allow for operator information during jobs initiated at the system monitor level. Thanks for the input. It is always better to discover I'm the one who made the mistake, because it helps me to regain confidence in the underlying system. David ---- === At 16 JUN 2000 01:27PM Don Miller - C3 Inc. wrote: === I have a nearly identical job that runs in our Scheduling Application. Since it completely restructures several on-line tables, we have to make sure that no users are logged in while it runs as well. Basically I did this in a "Wizard" type window which calls the mainline code. This code updates some display blocks in the wizard including a gas-bar for the progress and a dynamic text window about what is being done. Basically, I looked at the RDK extraction form and code and pretty much borrowed ideas from what was there. For your purposes, you will have to run it in event-context, probably off a form too. If you can compute the number of frames to process, you can do a progress bar on your form and an information box about what is going on. If you want to allow your user to halt the process, you will need to use a Yield statement in your batch process to allow you to check the status of your Cancel button. Hope this is useful.. Don Miller C3 Inc. ---- === At 16 JUN 2000 06:25PM David Singer wrote: === Yes, very useful! Thanks, Don. I got the results I was looking for. Neat ideas. David [[https://www.revelation.com/revweb/oecgi4p.php/O4W_HANDOFF?DESTN=O4W_RUN_FORM&INQID=WORKS_READ&SUMMARY=1&KEY=5913D42994370877852568FF007975CF|View this thread on the Works forum...]]