startApplicationWithString(schemaName: String; appName: String; initializeParameter: String): Process;
The startApplicationWithString method of the Application class enables your logic to initiate another JADE application on the same node as the initiating application and to pass a single string to the new application.
The parameters for the startApplicationWithString method are listed in the following table.
Parameter | Description |
---|---|
schemaName | Specifies the name of the schema in which the application is located |
appName | Specifies the name of the application to start |
initializeParameter | Passed to the initialize method of the application |
The string specified in the initializeParameter parameter is passed to the initialize method of the application, specified by using the JADE development environment Define Application dialog Initialize Method combo box.
The initialize method must have a signature that contains only the initializeParameter parameter, as shown in the following example.
init(custName: String); vars cust: Customer; begin app.root := Root.firstInstance(); cust := root.customers.getAtKey(custName); if not cust = null then cust.sendLetter(); endif; terminate; end;
The following code fragment shows the use of the startApplicationWithString method.
app.startApplicationWithString("BankSystem", "UpdateCustomer", "ZQ32112");
This method starts only applications of type ApplicationType_Non_GUI_Web, ApplicationType_Non_GUI_Rest, or ApplicationType_Non_GUI if this method is invoked from a server method or server application. (An exception is raised if this method is invoked from a server method or a server application to start an application of a type other than a non-GUI application.)
On a client node, this method starts all types of application. For details about running non-GUI applications in standard (or fat client) mode, see the Application class applicationType property.
When multiple applications are initiated, they run independently of each other. The JADE application program switches the context between applications, based on the form or control that is causing an event. If one application is terminated (when all forms of that application are closed), the database remains open, as each application uses the same open instance of that database.
You can use the MaxWaitAppStart parameter in the [
This method returns the process of the application that was started. The application that calls the method continues executing after JADE has successfully created a new process. If the application is not initiated (for example, because of
The types of application that you can start by using the startApplicationWithString method on client nodes or server nodes are listed in the following table, which also lists their termination behavior.
Start-up Location | GUI | Non_GUI and Non_GUI_Web | GUI_No_Forms |
---|---|---|---|
Client nodes | Stays while application has forms | Always stays running | Always stays running |
Executes finalize method | Executes finalize method | Executes finalize method | |
Server nodes | Not available | Always stays running | Not available |
Executes finalize method |
In this table:
"Stays while application has forms" indicates that the application is terminated automatically when it has no remaining forms or there is explicit programmatic termination
"Always stays running" indicates that the application requires explicit termination (by using the