====== New features in 3.12! (Functions/Subroutines/Programs,General) ====== ====== ====== ==== Created at 30 JUL 1996 11:13AM ==== The following features are available in OpenInsight for Workgroups Pre-release Build 8 and later.   **QUALIFY_EVENT message** ****   QUALIFY_EVENT has been enhanced to support the qualifying of any Windows message. To request that a certain Windows message be sent to the new WINMSG event:               Send_Message(CtrlEntID, "QUALIFY_EVENT", uMsg, bRequest)   Parameters: CtrlEntID           the qualified name of the window or control uMsg                the ID of the Windows message; this can be passed as a decimal (eg. 123) or a hexidecimal (eg. "0x123"). bRequest          pass true to request the message or false to revoke the request for the message.   See Also: WINMSG Event     **WINMSG Event** ****   Description       The WINMSG event is generated for each Windows message that is requested using QUALIFY_EVENT. Syntax              bForward = WINMSG(CtrlEntID, CtrlClassID, hWnd, Message, wParam, lParam) Parameters       WINMSG accepts the following parameters:                         hWnd                Window handle that the message was received by                         Message           The message ID                         wParam            The first parameter sent with the message                         lParam              The second parameter sent with the message See Also: QUALIFY_EVENT message     **CHARMAP property** ****   Applies to         SYSTEM Description       The 255-character conversion map used for keyboard input. Usage               OrigMap = Get_Property("SYSTEM", "CHARMAP")                         OrigMap = Set_Property("SYSTEM", "CHARMAP", NewMap) Remarks           Characters 250-255 are used as system delimiters. In some languages, characters in this range are meaningful; in other words, these characters are used to construct words. Since the characters are used in OpenInsight as system delimiters, entering data using these characters will cause character "collision" and possible problems. Using the CHARMAP property, you can assign other characters to this range. Example             * map the U-umlaut to the accentless-U             declare function Get_Property             declare subroutine Set_Property             Map = Get_Property("SYSTEM", "CHARMAP")             Map [255,1] = "U"             Set_Property("SYSTEM", "CHARMAP", Map) See Also: convert statement     **Passing event parameters via QuickEvents** ****   Events often receive parameters in addition to the two standard ones: CtrlEntID and CtrlClassID. For example, the CREATE event is passed the CreateParam. Now these parameters can be passed on using QuickEvents. For example, to call the SYSPROG function MYFUNC from the CREATE event of a form, passing the CreateParam as a parameter to MYFUNC, specify these values in the QuickEvent designer:   Event: CREATE QuickEvent Options: Execute a procedure Send Message to Entity: SYSPROG*STPROCEXE%%**%%MYFUNC Message: EXECUTE Parameters: '@Param1' Return Value in Control: Return Value in Property:   The notation for passing the parameters is '@Param#' where # is replaced with the parameter number. (The two standard parameters aren't counted. The first standard parameter, CtrlEntID, can be passed by specifying '@Self'.)     **Other new features:** 1.     The program cache has been enlarged. This will increase the performance of large applications and applications that use many DLL functions. 2.     Declare_Fcns now generates repository entities for each function in a DLL definition record. This enables deployment of those functions using the RDK.