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: <blank>
Return Value in Property: <blank>
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.