Parameter | Description |
---|---|
iMsg | id of message to register |
sMsgName | name of the message, in quotes, usually message name preceded by "get_" (function) or "msg_" (procedure) |
sParams | arguments to the message, preceded by each argument's type; should be the same as message declaration |
sComment | message description; brief summary of what message does |
Procedure RegisterInterface Integer iMsg String sMsgName String sParams String sComment
Call: | Send RegisterInterface iMsg sMsgName sParams sComment |
Rather than manually writing code for this, registering, or "publishing" a method, is typically done in the DataFlex Studio. You can select a method in Code Explorer and publish or unpublish it there. See Code Explorer for more information.
The RegisterInterface message is used to register a message (property, function, procedure) and make it available as a Call message within an ASP page.
Four parameters are required:
This is the message number. Normally this is passed as the message name preceded by get_ (for functions and retrieving properties), set_ (for setting properties) or msg_ (for procedures). For example:
(RefFunc(SomeFunction)) or (RefProc(SomeProcedure)) or (RefProcSet(SomeProcedureSet))
This is the name of the message that will be used in the ASP page. Normally you should make this the same name as the property (just put quotes around the property name).
"get_SomeProperty" or "get_SomeFunction" "set_SomeProperty" "msg_SomeProcedure"
This records the list of parameters used by the message. This is not required and is used for documentation purposes.
This records a description of the message. This is not required and is used for documentation purposes.
All Call messages must be registered before they can be used (unless you set the UseOpenEvalInterface_state property to true). For example, if you wanted to expose the get_FindByRecId message you would register it as follows:
Object SalesP_WBO is a WebBusinessProcess Object Salesp_DD is a Salesp_DataDictionary Send DefineAllExtendedFields End_Object Set phMainDD to (SalesP_DD(Self)) Send RegisterInterface (RefProc(DoRequestFindbyRecId)) "get_DoRequestFindbyRecId" "sFile iRecord" ; "Find by recnum for the passed file and record" End_Object
Instead of needing to create a RegisterInterface message for each message you plan to register some messages have been combined into interface procedures allowing you to register a single set of interfaces at one time. Those predefined interface messages are:
Send RegisterStandardInterface
Send RegisterBasicErrorInterface
Send RegisterFullErrorInterface
Send RegisterDebugInterface
Send RegisterAutoEntryInterface
Typically, you will want to register the standard interface.
Object SalesP_WBO is a WebBusinessProcess Object Salesp_DD is a Salesp_DataDictionary Send DefineAllExtendedFields End_Object Set phMainDD to (Salesp_DD(Self)) Send RegisterStandardInterface End_Object
If the same message is registered more than once, only the first registration is applied.
Send RegisterInterface get_DoRequestFindbyRecId "(RefProc(DoRequestFindbyRecId))" "sFile iRecord" ; "Find by RecId (recnum) for the passed file and record"
This message has changed from WebApp revision 2.x. If you do not change the format of your message from the old format, you will get errors when run your application and these messages are sent.
The old format looked like this:
Send RegisterInterface msg_SetHRefName "msg_SetHRefName" "sName" "Name to link for drill down report" Send RegisterInterface get_RunCustomerReport "get_RunCustomerReport" "iIndex iStart iMax" "Run report"
The new format looks like this:
Send RegisterInterface msg_SetHRefName "msg_SetHRefName" "String sName" "Name to link for drill down report" Send RegisterInterface get_RunCustomerReport "get_RunCustomerReport" "Integer iIndex Integer iStart Integer iMax Returns integer" "Run report"See Also