New features in 3.12! (Functions/Subroutines/Programs,General)

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.

  • kb/kb_articles/kb0018.txt
  • Last modified: 2024/01/30 13:36
  • by 127.0.0.1