Promoted Events - Semantic Logic Layer Confusion (None Specified)
At 17 OCT 1999 10:06:11AM amcauley@sprezzatura.com [url=http://www.sprezzatura.com]Sprezzatura Ltd[/url] wrote:
[notag]Hi chaps
It would seem that the options event handler is at too low a level in the promoted chain for my liking. I'm trying to have one generic handler at the App*..OIWIN* level to use this as a dispatcher. Unfortunately OPTIONS seems to be handled at the SYSPROG*OPTIONS..OIWIN* level. Frankly this is a PITA as it means that I need to have a promoted event specifically for options and frankly the less promoted events I have the happier I am.
Is this a design feature or will it ever be changed?
[<A HREF="mailto:amcauley@sprezzatura.com" onMouseOver="window.status='Why not click here to send me Email?';return(true)">Andrew McAuley</A>]
[<A HREF="http://www.sprezzatura.com" onMouseOver="window.status='Why not click here to visit our web site?';return(true)">Sprezzatura Group</A>]
[<I>World Leaders in all things RevSoft</I>]
[<img src="http://www.sprezzatura.com/zz.gif">]
[<script language="javascript">function openNewPage () {window.location.href=(document.TOCNavigator.pageToGoTo.options[document.TOCNavigator.pageToGoTo.selectedIndex].value);document.TOCNavigator.pageToGoTo.selectedIndex="0";}end hiding from non-JS browsers –></script>] [<FORM ACTION "" METHOD=GET NAME="TOCNavigator" <SELECT NAME="pageToGoTo" SIZE=1 onChange="openNewPage()"> <OPTION>Pull down this menu to choose whereabouts on Sprezz site to go <OPTION VALUE="http://www.sprezzatura.com">Home Page <OPTION VALUE="http://www.sprezzatura.com/whatsnew.htm">What's New <OPTION VALUE="http://www.sprezzatura.com/senl.htm">SENL <OPTION VALUE="http://www.sprezzatura.com/patches.htm">Download S/LIST <OPTION VALUE="mailto:support@sprezzatura.com">Send mail to support at Sprezzatura <OPTION VALUE="mailto:sales@sprezzatura.com">Send mail to sales at Sprezzatura </SELECT> </FORM>][/notag] </QUOTE> —- === At 21 OCT 1999 04:01AM amcauley@sprezzatura.com Sprezzatura Ltd wrote: === <QUOTE>[notag]Can I provide more info to assist in answering this? [<A HREF="mailto:amcauley@sprezzatura.com" onMouseOver="window.status='Why not click here to send me Email?';return(true)">Andrew McAuley</A>] [<A HREF="http://www.sprezzatura.com" onMouseOver="window.status='Why not click here to visit our web site?';return(true)">Sprezzatura Group</A>] [<I>World Leaders in all things RevSoft</I>] [<img src="http://www.sprezzatura.com/zz.gif">] [<script language="javascript">function openNewPage () {window.location.href=(document.TOCNavigator.pageToGoTo.options[document.TOCNavigator.pageToGoTo.selectedIndex].value);document.TOCNavigator.pageToGoTo.selectedIndex="0";}end hiding from non-JS browsers –></script>]
[<FORM ACTION "" METHOD=GET NAME="TOCNavigator"
<SELECT NAME="pageToGoTo" SIZE=1 onChange="openNewPage()">
<OPTION>Pull down this menu to choose whereabouts on Sprezz site to go
<OPTION VALUE="http://www.sprezzatura.com">Home Page
<OPTION VALUE="http://www.sprezzatura.com/whatsnew.htm">What's New
<OPTION VALUE="http://www.sprezzatura.com/senl.htm">SENL
<OPTION VALUE="http://www.sprezzatura.com/patches.htm">Download S/LIST
<OPTION VALUE="mailto:support@sprezzatura.com">Send mail to support at Sprezzatura
<OPTION VALUE="mailto:sales@sprezzatura.com">Send mail to sales at Sprezzatura
</SELECT>
</FORM>][/notag]
At 21 OCT 1999 10:37AM Donald Bakke wrote:
Andrew,
So far we've never attempted to promote the OPTIONS event at any level. However, just to ask the obvious question: have you enforced the OPTIONS event to see if this makes a difference?
dbakke@srpcs.com
At 26 OCT 1999 04:56AM amcauley@sprezzatura.com [url=http://www.sprezzatura.com]Sprezzatura Ltd[/url] wrote:
[notag][<I>]Another important aspect to the WORKS membership program is the Revelation team that stands behind it. The Revelation WORKS Team is a group of developers, technical support analysts, customer care representatives, and other Revelation employees dedicated to providing each WORKS customer with the tools and resources required to develop superior applications in a timely and cost-effective manner, and to hopefully have some fun in the process.[</I>]
[<A HREF="mailto:amcauley@sprezzatura.com" onMouseOver="window.status='Why not click here to send me Email?';return(true)">Andrew McAuley</A>]
[<A HREF="http://www.sprezzatura.com" onMouseOver="window.status='Why not click here to visit our web site?';return(true)">Sprezzatura Group</A>]
[<I>World Leaders in all things RevSoft</I>]
[<img src="http://www.sprezzatura.com/zz.gif">]
[<script language="javascript">function openNewPage () {window.location.href=(document.TOCNavigator.pageToGoTo.options[document.TOCNavigator.pageToGoTo.selectedIndex].value);document.TOCNavigator.pageToGoTo.selectedIndex="0";}end hiding from non-JS browsers –></script>] [<FORM ACTION "" METHOD=GET NAME="TOCNavigator" <SELECT NAME="pageToGoTo" SIZE=1 onChange="openNewPage()"> <OPTION>Pull down this menu to choose whereabouts on Sprezz site to go <OPTION VALUE="http://www.sprezzatura.com">Home Page <OPTION VALUE="http://www.sprezzatura.com/whatsnew.htm">What's New <OPTION VALUE="http://www.sprezzatura.com/senl.htm">SENL <OPTION VALUE="http://www.sprezzatura.com/patches.htm">Download S/LIST <OPTION VALUE="mailto:support@sprezzatura.com">Send mail to support at Sprezzatura <OPTION VALUE="mailto:sales@sprezzatura.com">Send mail to sales at Sprezzatura </SELECT> </FORM>][/notag] </QUOTE> —- === At 29 OCT 1999 10:28AM Jack the Pumpkin wrote: === <QUOTE>Andrew, It would seem that the options event handler is at too low a level in the promoted chain for my liking. It's that alternative lifestyle thing popping up again, isn't it? Since high and low depends on your point of view, and we wouldn't want to disparage those living in the southern hemisphere, could you clarify in terms of "too specific" or "not specific enough"? I'm assuming you mean that it is too specific, as in either: 1) you are forced you to have an OPTIONS event per window. 2) you are forced to have an OPTIONS event at all I think you mean the latter, based on: I'm trying to have one generic handler at the App*..OIWIN* level to use this as a dispatcher. Unfortunately OPTIONS seems to be handled at the SYSPROG*OPTIONS..OIWIN* level. Frankly this is a PITA as it means that I need to have a promoted event specifically for options… Next, I'll assume that your promoted events just call a well-designed commuter anyway
, which means that your APP*OPTIONS..OIWIN* event would only be a couple of lines of code, which all-in-all does not seem so bad. But I'll assume you don't want to do that, since you would have already done it, and I'll also assume that you don't want to over-ride: function resolveEventHandler(appid, reposType, controlid, controlClass, event, genericLevel, cache) … which is of course called by Run_Event (without the last parameter, which is of course optional). Not that you care, but the genericLevel parameter is an in/out parameter which corresponds of course to the level at which the event is found, probably like: <code> <code> begin case case eventN=1 eventid=thisAppid : KEYSEP$ : qEvent : "." : reposType : KEYSEP$ case eventN=2 eventid=thisAppid : KEYSEP$ : event : ".." : reposType : KEYSEP$ case eventN=3 eventid=thisAppid : KEYSEP$ : ".." : reposType : KEYSEP$ case eventN=4 eventid=thisAppid : KEYSEP$ : qEvent : KEYSEP$ case eventN=5 eventid=thisAppid : KEYSEP$ : event : KEYSEP$ end case </code> </code> I'm sure that a simple shell (using Send_Info for output) would be enlightening, although I'm not suggesting that you could use a shell to re-order the event chain or anything like that, even though getForwardHandler in Run_Event uses: handlerInfo=resolveEventHandler(genericAppid, reposType, workControlId, controlClass, event, genericLevel) Of course, if you don't want the SYSPROG OPTIONS implementation at all, you could just create a repository entry for it and mark it as non-shareable. But that seems potentially dangerous. Remember to log out/back in and recompile application windows after changing event chaining order, since the first generic event will be compiled into the window exe if enforced and no window-/control-level event exists. Also remember that anything listed in SYSENV/SYSPROCNAMES is not subject to application overloading. In other words, it will be looked for in SYSPROG only (meaning SYSOBJ/) instead of following the event chain. So if you decide to override system level functions on an application-by-application basis, then remove them from SYSPROCNAMES (which also allows you to save/compile them). Cameron Purdy Revelation Software </QUOTE> View this thread on the Works forum...