I also have used an HTA file on startup that is passed a time value in milliseconds to kill itself by user click on OK or the Expiration of the time, which ever comes first. If you copy the HTA code to a text editor then save it as About.HTA, you can use the launch command as shown in the startup code (without the W option), if you do it at the command line for testing just type: About.HTA #5000 and the hta will display for a max of 5 seconds if the user doesn't click on the OK first. The text to display can be done by editing the variables in the HTA file.
The contents of my RBase Startup: LAUNCH about.hta|#2000 SET TRANSACT OFF SET AUTOCOMMIT OFF SET AUTOCONVERT OFF SET AUTORECOVER OFF SET AUTOROWVER OFF SET AUTOSYNC OFF SET AUTOUPGRADE OFF SET COMPATIBILITY ON SET CURRENCY '$' PREF 2 'b' SET MANY = % SET VAR vnull = (CHAR(32)) SET NULL .vnull --ZIP cmd /c d:\ntbat\lptset.cmd SET MULTI ON RUN SYSTEM IN system.apx SET NULL -0- EXIT The Contents of the HTA: *Note Watch for NewsReaderWrap <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <TITLE>About</TITLE> <HTA:APPLICATION ID="oHTA" APPLICATIONNAME="About" CAPTION="yes" SYSMENU="yes" MAXIMIZEBUTTON="no" MINIMIZEBUTTON="no" SHOWINTASKBAR="no" SINGLEINSTANCE="yes" SCROLL="NO" BORDER="thin" BORDERSTYLE="dialog" VERSION="1.0" WINDOWSTATE="normal" ICON=""> <SCRIPT language="jscript"> <!-- Begin Author Info For HTA // Authored MByerley 101402 License Freeware // WSH 5.x required for Proper execution // Use at your own risk, blah blah... // The text to show in the License Row of the Table var License = 'ALL CODE contained within the RBase application file(s) "BdcOvl.*" is proprietary and is Licensed For Use ONLY by XYZ Systems, Inc. and may not be used, transferred, or sold to any other person or entity without the express written consent of Bauerlie Development Corp.'; // The text to show in the Programed Row of the Table. Note the <br> to force linebreaks var ProgBy = "Programmed By<br>Michael Byerley<br>902 East Gump Road<br>Fort Wayne IN 46845-9003<br>(260)637-3924"; // The clickable URL to your website var ProgUrl = '<a href="http://www.byerley.net">www.byerley.net</a>'; // The timeout value var TimeToDisplay; function Main() { //debugger; TimeToDisplay = GetArgs(oHTA.commandLine); tdLicense.innerHTML=License; tdLicense.style.fontFamily="Times New Roman MT Extra Bold"; tdLicense.style.fontSize="14pt" tdProgBy.innerHTML=ProgBy; tdProgBy.style.fontFamily="Times New Roman MT Extra Bold"; tdProgBy.style.fontSize="12pt" tdProgUrl.innerHTML=ProgUrl; tdProgUrl.style.fontFamily="Times New Roman MT Extra Bold"; tdProgUrl.style.fontSize="12pt" imgIcon.src="\.\\DiaIcons\\Rbase.ico"; imgIcon.height="96"; imgIcon.width="96"; // if a timeout was passed in then timeout the box otherwise display until closed if (TimeToDisplay > 0) { DisplayTime(TimeToDisplay); } } function GetArgs(cmdIN) { var i; var retVal=0; var tmp = cmdIN.split('"'); for (i=0;i<tmp.length;i++) { if (tmp[i].indexOf('#',0) > 0) { retVal = parseInt(tmp[i].slice((tmp[i].indexOf('#',0) + 1),tmp[i].length)); break; } } return retVal; } function DisplayTime(msecIN) { window.setTimeout('DialogClose()',msecIN); } // SetWindowSize Not Used in this instance function SetWindowSize() { //debugger; var scrWidth = window.screen.width; var scrHeight = window.screen.height; window.moveTo((scrWidth/2)-(wWidth/2),100); window.resizeTo(wWidth,20 + tblDiaResponse.clientHeight + tblDiaMsg.clientHeight + ButtonRow.clientHeight); } function DialogClose() { window.clearTimeout(); window.close(); } // End --> </SCRIPT> </HEAD> <body bgcolor=#9999FF onLoad="Main()" onBlur="self.focus()"> <table id="tblMsg" width="100%" border="2"> <tr> <td id="Icon" width="10%"><IMG id="imgIcon" src=""> </td> <td width="90%" id="tdLicense" name="License"> </td> </tr> </table> <table id="tblProgBy" width="100%" height="50" border="2"> <tr align="center"> <td id="tdProgBy" name="tdProgBy" width="100%"> <p align="center"> </td> </tr> <tr> <td id="tdProgUrl" width="100%" align="center"> <p align="center"> </td> </tr> <tr> <td id="ButtonRow" width="100%" align="center"> <p align="center"> <input type="button" id="B1" name="B1" value=" OK " onclick="window.close(); return false;"> </p> </td> </tr> </table> </BODY> </HTML> ----- Original Message ----- From: "Alastair Burr" <[EMAIL PROTECTED]> To: "RBG7-L Mailing List" <[EMAIL PROTECTED]> Sent: Tuesday, December 07, 2004 1:45 PM Subject: [RBG7-L] - Re: Runaway R:Base processes / R:Base won't start. I don't know if it's my imagination or not but the wait from double clicking the icon that launches R:Base until my pause 3 statement which is, more or less, the first thing in my app seems to have got longer recently (and I'm not _aware_ of anything else having changed to affect it) Perhaps a couple of entries in the RBEngine.CFG could be used as a "user message" on start-up: STARTMES ON/OFF STARTTXT Loading R:Base Regards, Alastair. ----- Original Message ----- From: [EMAIL PROTECTED] To: RBG7-L Mailing List Sent: Tuesday, December 07, 2004 5:26 PM Subject: [RBG7-L] - Re: Runaway R:Base processes / R:Base won't start. This is sort of related. I have put in a request to RDCC for runtime and the compiler to have SOMETHING, maybe a user defined message to appear on the screen while R:base loads. Something like "Loading inventory program...please wait", or "Welcome to blah,blah,blah"). This would prevent the users from thinking nothing is hapening. The problem (and I got caught up in it for awhile) is that when you click on the icon no hourglass appears and you think nothing is happeningand you tend to click it again, further slowing the process. Yes, it seems minor, but when you have many users accessing these icons from a network the load time is even slower. It's just a cosmetic enhancement, but if others would like to see this PLEASE submit a request to RDCC. Bob C. "MikeB" <[EMAIL PROTECTED]> Sent by: [EMAIL PROTECTED] 12/07/2004 11:37 AM Please respond to [EMAIL PROTECTED] To [EMAIL PROTECTED] (RBG7-L Mailing List) cc Subject [RBG7-L] - Re: Runaway R:Base processes / R:Base won't start. Sounds like my wife is working there. She double clicks "everything". Further if she doesn't see activity within the first 1.5 picoseconds (for the uninitiated, at the speed of light, light travels just 9 inches each picosecond), she is likely to doubleclick again... So task bar items get launched twice, and more than one of program is ill-behaved when a quick double click tries to start virtually simultaneous launches. Example is IE sometimes completely hangs on her XP box when started this way. I have threatened bodily harm, but she just laughs at me.... ----- Original Message ----- From: "Lawrence Lustig" <[EMAIL PROTECTED]> To: "RBG7-L Mailing List" <[EMAIL PROTECTED]> Sent: Tuesday, December 07, 2004 11:22 AM Subject: [RBG7-L] - Runaway R:Base processes / R:Base won't start. > At a large installation, I have the following problem on a small number of > machines: > > Sometimes R:Base appears not to start. You can click on the icon several > times, but the application's menu does not appear on the screen. Checking the > process list in Task Manager, I am able to see a number of RBG7 processes > running (more than I tried to start, so I think that someone had run some > before I got to the machine). > > One of the processes is racking up time on the CPU. When I kill that one, the > menus for the others appear on the desktop. > > Has anyone experienced anything like this, with R:Base sessions running in Task > Manager but not appearing on the desktop? > > My icon runs R:Base and uses a DAT command file to open the database and load > the form which has the main menu. > -- > Larry >
