Analyze dynamic references

Reading the source code to analyze an application ("static analysis") has limitations: The analysis doesn't include information such as dynamic references (which are defined only when the application is running).

To enrich the information Visual Expert finds during the analysis, Visual Expert can now raise exceptions.

An exception can be automatically raised by VE or triggered by a specific instruction inserted in the application code (formatted comment). A new window has been added to guide users while defining such exceptions.

How to determine exceptions

Visual Expert Exceptions offer a way to improve the default code analysis.
An exception processes a given function or property and creates a supplementary relationship between two components of the application.
As a result, the application description is more complete, especially regarding some dynamic references that are not taken into account by the default code analysis.

An exception can be related to a method.
The exception will be raised each time this method is found in the code.
Several methods can raise the same exception.
Visual Expert supports class methods, global functions and system functions.

An exception can also be related to a property.
The exception will be raised each time a value is assigned to this property.
Several attributes can raise the same exception.
Visual Expert supports instance and global variables. Local variables are not supported.

Example: The function "uf_set_dataobject(d_dataobject)" is called in the application. This function modifies the dataobject property of a DataWindowControl to “d_dataobject”.

In this case, an exception is raised to add a reference between "d_dataobject" and the modified DataWindowControl. First, this exception has to be declared within Visual Expert (Visual Expert 5.6 – Build 60522 and above).

The "Exception" tab of the Setup window lists the exceptions currently raised in the application. You may open this windows with the menu [Options - Project Setup].


The [Add] button is used to declare a new exception.
This button opens the following window:

In the above screenshot, the function "uf_set_dataobjet" defined in the userobject
" pfc_n_cst_selection" is raising an exception.
This exception is called "SetMultipleDataobjetSelection" (a function changes the dataobject of one or several objects. The corresponding dataobjects are passed as parameters).

Visual Expert comes with several exception types.

The previous example, with a dataobject modification, corresponds to one type of exception.

Another example is an exception raised when a function opens a window or menu and where the name of the opened object is passed as a parameter.
This second exception will add a reference between the object calling this function and the opened window or menu.

Do not hesitate to contact us if you need help to declare exceptions in your application.