Setting Development Options

Development options are set on the Development tab in Tools > Options.

General

Description

Startup project

Load this project at startup.

Application object layer

Use the Application object layers list to define the layer view on objects in the tree.

  • Show no layers – no objects are labeled with layer indications.

  • Show all layers – all objects are labeled with layer indications for all layers in which they exist.

  • Show highest layer – all objects are labeled with a layer indication for the highest layer.

  • Show corrected layers – only objects that have been modified in the current layer or a higher one are labeled and only with an indication for the highest layer.

  • Show all from corrected layers – only objects that have been modified in the current layer or a higher one are labeled but with indications for all layers.

To learn about application object layers, see Application Object Layers.

Message limit

Number of lines in the message window. When this limit is reached, the lines are discarded.

To view the discarded lines, you can examine the objects log file in the systems main directory. Log files are called <first four letters from object>comp.log, for example Bankcomp.log for the log file that results from a compile of the object called BankAccountReconcile.

These log files are temporary and the file names are not unique.

The log file in the above example is overwritten when you next compile an object called, for example, BankDepositSlip.

Development warnings

Choose this if you want developer warnings during X++ code translation.

A warning is displayed if, for example, there are SQL statements that may result in inferior performance. The following SQL statements result in a warning if a key does not exist on the table myTable with the fields myField1 and myField2:

select * from myTable where myTable.myField1==x && myTable.myField2==y;

Show Feature Key

View Version 2.5 feature keys in the property sheet.

Editor

Description

Overwrite selected text

Check this if you want typing to replace selection in the X++ editor.

IntelliSense

Check this if you want to use automatic IntelliSense features in the X++ editor.

To learn about editor IntelliSense, see Editor Lookup Facilities.

Insert at cursor

Enable insert mode (as opposed to overwrite mode) in the editor.

Debug

Description

Debug mode

Use the Debug mode list to define when the debugger is activated.

  • No: debugger is never activated.

  • On Breakpoint: debugger is activated when a breakpoint in the X++ code is encountered.

Auto

Description

Auto-update

Enter the number of seconds the system should wait before initiating a new update cycle.

Entering 0 (zero) disables the systems update cycle.

An update cycle comprises three types of updates:

  • Auto-refresh

  • Auto-save

  • Garbage collection

When you have specified an interval here, you can enable or disable the three options individually.

Auto-refresh

Check this if you want the system to update application objects automatically so objects that are made by other users become available to all users. In addition, the system updates lock indications in the Application Object Tree (AOT).

You can also refresh manually by using the Refresh command in the shortcut menu, for example on the Forms or the Queries nodes.

NoteNote
Refresh is one of the three components in an update cycle, and is performed only when an update cycle interval is specified (the Auto-Update option).

Auto-save

Check this if you want the system to save application objects automatically. When the Auto-Save option is enabled, the system automatically saves the unsaved objects when you exit.

NoteNote
Automatic save is one of the three components in an update cycle, and is performed only when an update cycle interval is specified (the Auto-Update option).

Garbage collection limit

Number of application objects that are no longer in use.

MorphX automatically performs garbage collection when the number that is specified here is reached.

The system uses memory each time an application object is opened in the AOT. Unless a value is specified here, application objects are never discarded from memory.

  • An application object is considered open when:

    • The application object's node is expanded in the AOT, or

    • One of the application object's methods is open in the X++ editor, or

    • The application object's properties are displayed, or

    • The application object is displayed in the visual form editor or in the visual report editor, or

    • The application object is 'touched', that is, it has been changed but not yet saved.

NoteNote
Garbage collection is one of the three components in an update cycle, and is performed only when an update cycle interval is specified (the Auto-Update option).

Trace

Description

Database trace

Choose this if you want the system to trace to the message window whenever the database is accessed.

Client-Server trace

Choose this if you want to include information about where classes are executed.

ActiveX trace

Choose this to enable tracing of ActiveX control events.

This means that all events that are fired by the ActiveX controls are logged in the message window. Different ActiveX controls fire different events, but most ActiveX controls share a common set of events, such as MouseMove, MouseDown, MouseUp, KeyDown, KeyUp, and so on.

Property sheet

Description

Sort alphabetically

Choose this option to have properties sorted alphabetically when they are displayed in the property editor.

Community Additions

ADD
Show: