Information |
Created By | Knowledge Migration User |
---|
Approval Process Status | Published |
---|
Objective |
---|
Description |
In the Control Modify event, for multi-selection controls:
In the Screen Refresh event, if some records that exist on the screen were deleted from the database then:
User Events For user events defined with Force Exit set to Pre Record Update or Post Record Update, the Control Verification logic unit will be executed:
.NET Events For .NET objects not placed on a form: In Online, the events will be raised in all contexts and in Rich Client only in the current context. Calling Rich Client TaskWhen calling an Online task, only one task runs at a time. In Rich Client tasks, unless the called program is Modal, the caller and called programs keep running. For a Rich Client called program, the CallProg function does not return the task return value. This is because the expression does not wait for the program to end. Parallel Rich Client programs called via this function will be opened as non-parallel programs. Batch Tasks A Batch task is not seen when called from a Rich Client tasks. This is because Batch tasks are executed on the Background engine on the Server side and, therefore, they cannot call interactive Rich Client tasks and will not show the form. If you need to execute a non-interactive task on the Client side, you can set the Rich Client task to be non-interactive. When migrating an existing program from C/S to RIA, changing a Batch task to Rich Client automatically turns it into a non-interactive Rich Client task. I/OIn Rich Client tasks, the I/O Device repository and I/O-related functions are not supported. ReportsReports can be displayed by printing the report into a PDF file and then displaying the PDF using its associated program. The PDF can either be transferred and saved on the client side, or accessed remotely by the client. An example of this can be found in the Developing Rich Client Applications concept paper. In this example, we used the Magic xpa Browser control to display the report. Printing to a default printer or opening the Print Dialog or Print Preview will not work. This is because the printing is done in a Batch task that runs on the Background engine on the Server side and hence will not show the form. FormThe following form properties are not fully supported:
You cannot specify the form on a Call operation. Since version 2.1: A Modal window type halts the flow of all the other tasks so you cannot click another window without first closing this window:
Phantom TasksPhantom tasks are no longer needed in Client-Server applications since the Subform control was introduced. Even so, the use of this feature is vast in existing applications. The Close Task Window property is inactive for Rich Client and cannot be set to No. Therefore, when leaving the Rich Client program, the window will always close. When migrating to RIA, if you want your program to stay open while working on another program, you must use a non-modal Rich Client screen or add a Subform control in the calling program with the phantom task/program as the called task program. Any excess code in the calling program has to be removed. Control PropertiesThe following control properties are not fully supported in Rich Client tasks: General
Radio Button control
Table control
Column control
Tree control
Behavior of ControlsSome controls behave differently in the Rich Client and the Online environment. You should be aware of the following differences so that you can take them into account when programming:
o In Online tasks, the Zoom event is raised only if parking on a control that has a Zoom handler for itself. o In Rich Client tasks, the Zoom event is raised.
o In Rich Client programs, attach a variable with a Binary Blob attribute to the Rich Edit control. o In Online programs, attach a variable with a Unicode Blob attribute to the Rich Edit control.
o In Online tasks, the cursor is repositioned on the nearest parkable control. o In Rich Client tasks, the cursor remains at the current location.
o Changing the value of a Virtual variable that is displayed in a table will result in the refreshing of the Virtual variable’s appearance in all of the rows. o Using the scrollbar to browse the table will not move the current record.
o The subform's Task Prefix and Task Suffix logic units are executed only once. o The IsFirstRecordCycle function will be executed only once. o When you use the same data source in various subforms, using the Data Source Name property will affect all of the subforms using that data source. o Raising an Exit event within a subform task (via the Esc button, for example) will raise the event in the Subform container task and as a result exit both programs. If you do not want to exit the parent program, the Exit event can be caught. If there is a double exit, it should be canceled in order to exit the parent program. o It is possible to define that pressing the Tab key from the subform will move to the next control of the parent. Refer to Tabbing cycle. o Clicking on the subform area in Rich Client will keep the cursor at the current control and not move the focus to the subform task. o When the Refresh When Hidden property has an expression, the behavior will be according to the expression value at Runtime. If the expression value becomes True:
o When evaluating an operation in the Task Prefix or Record Prefix logic units that suspends the form load, such as a Verify operation, then:
VariablesVariables of type OLE are not supported. These need to be transferred to a batch program that will run on the server side. Status BarThe status bar in Rich Client applications contains only the messages section, so you can only receive error messages and prompt helps. It does not include, for instance, Zoom, INS and OVR. This means that if a control has a Zoom handler defined on it, there will be no indication of this functionality in the status bar. You will need to implement this functionality yourself by adding a prompt help for the control or model. You can use the SpecialShowStatusBarPanes setting to show the task mode in the status bar. Since version: 2.2 Physical TransactionsPhysical transactions are not supported. For Rich Client programs that require data modification (create, update, delete), a deferred transaction is required. If a deferred transaction is not set, only data reading will be available. If the application depended on a physical lock to the database as a means of serializing access to programs, the programmer must find alternative solutions to this. One possible alternative is to make use of the Lock() and Unlock() functions. Parallel ContextsThe Initiate Main Program task property is not supported in Rich Client tasks. Event raising between parallel contexts is not supported. The use of parallel programs can be reduced since several tasks can run simultaneously in Rich Client tasks. Wherever applicable, one can disable the “Parallel execution” of the programs involved. Note the differences between calling a parallel and a non-parallel program in the Calling Other Programs section above. Environment SettingsThe Center Screen in Online environment setting is not supported. Client-Side and Server-Side ExpressionsClient-side expressions cannot be used in the init property of a Rich Client task. Mixed expressions cannot be used. Mixed operations with expressions that will be executed on another side cannot be used. Control and form properties cannot use server-side expressions. Related Topics |
---|
Reference |
---|
Attachment |
---|
Attachment |
---|