Skip to content

Problem Resolution

Use the Problem Resolution panel to review problems the Studio has detected in your code during parsing that affect the Studio's ability to model the code.

For example, if you have an object declaration but the Studio cannot locate the object's class declaration, then that would prevent the object from being modeled in the Visual Designer and Properties Panel. This would raise an error in the Problem Resolution panel.

It is also true that many errors listed in the Problem Resolution panel would raise compiler errors when you attempt to compile the current project; however, the Problem Resolution panel is primarily concerned with coding errors that prevent your code from being correctly modeled.

Whenever you are editing code that causes some modeling problem, the Problem Resolution panel is automatically updated to indicate the problem. As you repair the problem in the editor, the panel is automatically cleared.

Problems in the Current Project

Normally, the Problem Resolution panel will display errors and warnings for all files belonging to the current project. The treeview control lists each file where problems have been detected, indicating the number of problems next to the filename. If the file currently being edited is listed, then its tree item is bold and expanded to display the problems.

Double-clicking a tree item will activate the Code Editor and position the cursor at the location where the problem was detected by the Studio.

The Problem Resolution panel will display two types of problems: Errors and Warnings.

Errors

An error is indicated in the tree by the following icon:

Error

An error means that there is a reference to something in your code that could not be resolved in the entire project. For example, a use statement that references an invalid filename.

Warnings

Warning

A warning means that there is a reference to something that cannot be resolved in the current file or any file that is used by the current file, but it can be resolved in one of the other files that belong to the current project.

A warning indicates that the file in question is not "autonomous" outside the context of the current project. Generally, it is good practice to ensure that all your code files are autonomous, but it is not mandatory. There may actually be cases where full autonomy is not possible due to circular reference problems, or the file may be a bad location for use statements to certain files.

The Problem Resolution panel allows you to filter warnings. To do this, select Filter Warnings from the Problem Resolution panel's context menu.

Problems in Files not Belonging to the Current Project

When you are editing a file that does not belong to the current project, the contents of the Problem Resolution panel change to display only problems belonging to that file.

In this case, the file will not be analyzed relative to any project. This means that any problems that would normally be raised as warnings when that file belongs to the current project will be displayed as errors because the Studio will not be able to resolve the reference.

The Problem Resolution panel will not display errors for files that do not reside in the current workspace.

Problem Indicator

The Studio's status bar contains a special Problem Indicator pane. Whenever there are problems listed in the Problem Resolution panel, this pane will display a special icon.

Problem Indicator

Clicking on this icon will activate the Problem Resolution panel, displaying the list of files with problems.

Context Menu Operations

Locate Problem

Locates the selected problem in the Code Editor.

Filter Warnings

Toggles whether warnings are listed or not.

Refresh

It is possible that code you are editing in the current file will cause (or clear) problems in other files belonging to your project. Unfortunately, the Problem Resolution panel does not always scan all files in the project for these indirect changes to the list of problems.

The refresh operation will force the Problem Resolution panel to scan all files in the current project so that all such "subtle" changes will be picked up immediately.