ForeExec

Syntax

ForeExecResult ForeExec(ForeId tFore, ForeExecArg tArg)

Parameters

tFore. Moniker of the development environment object that contains implementation of the executed method.

tArg. Operation execution parameters.

Description

The ForeExec operation executes methods implemented in Fore or Fore.NET units and assemblies.

Comments

To execute the operation, in the tFore field specify moniker of the unit, assembly or .NET assembly that contains implementation of the executed method. The moniker can be obtained on executing the GetObjects operation. In the tArg.methodName field specify name of the method to be executed, and in the tArg.args field specify values of the method input parameters. If the method is within the Fore unit or assembly, its implementation must be contained in the global namespace. As the value of the tArg.methodName field determine name of the method to be executed. If the method is within the Fore.NET assembly, its implementation must be contained in a class. The executed method must have the Public and Shared access modifiers. Method name in the "class"."method" format is determined as a value of the tArg.methodName field.

Method signature must contain simple types parameters and return a simple type value. If the method returns a value, this value is available in the operation execution result.

If the executed method contains parameters with the Object type, string views of any object's monikers must be sent as values of these parameters. On executing the operation by the moniker the appropriate repository object is obtained and sent to the executed method. To work with this object, cast it to the interface that describes its structure. For example, on passing repository connection moniker, the parameter in method will be of the IMetabase type, on passing express report moniker it will be of the IEaxAnalyzer type, and so on.

If moniker of the binary object saved on the server using the PutBin/PutBinary operation is passed, in the executed method this object can be cast to the IBinary interface.

Working Features

See below a list of various problems that may occur on using the ForeExec operation and solutions.

Executing Fore.NET method results in error of missing registered COM class

Executing Fore.NET method results in the "Catastrophic failure" error

Work with shortcuts

Recommendations for Use

On developing the web application, from which various Fore or Fore.NET methods are supposed to be run, use the following recommendations:

Disabling Execution of the ForeExec Operation

Due to possible use of the ForeExec operation for executing the code, to which the particular user must not have access, it is available to disable executing of the operation:

NOTE. For details about location of parameters see description of the appropriate configuration files.

<html>
<body>
    <script language="javascript" type="text/javascript">
    <!--...Previous application code...-->
    <!--...-->
    <!--Function for sending JSON request-->
    function PostRequest(url, request) {
        <!--...-->
        var xhr = new XMLHttpRequest();
        <!--...-->
        xhr.setRequestHeader('p-h', '1');
        <!--...-->
        xhr.send(JSON.stringify(request));
        <!--...-->
    }
    </script>
</body>
</html>

Example

Various ways of using this operation are given in the following examples:

Example name

See also:

Specific Operations