Global Properties

Top  Previous  Next

The Global Properties dialog is accessed from the Actions button located on the Applicvation Generator’s Global Properties tab.

Click on a TAB to see its help

This dialog specifies application level options for file processing, .INI file support, plus lets you define global variables.

General

Program Author

Lets you add your own name, which is then added into the .APP file.

Default Icon

Press the ellipsis button to select an icon to use as the program icon. You may also specify a variable name here by prefacing the variable with an exclamation point (!). The templates implement the use of SYSTEM {PROP:Icon}.

Use Field Description as MSG() when MSG() is Blank

Check this box to tell the Application Generator to use field descriptions from the Field Properties dialog as the default MSG attribute.

Generate Template global data and ABC's as EXTERNAL

Adds the EXTERNAL attribute to the global variable declarations generated by the templates, and the DLL attribute to any CLASS declarations generated by the templates. This means your program relies on an external library to allocate memory for these variables and objects, and to export them so your program can access them.

You should add the EXTERNAL and DLL attributes to get the same effect for any global variables or classes you declare. See the Language Reference for more information on these attributes.

If you create a program that consists of more than one AppGen created DLL, you should check the Generate Global Data as EXTERNAL box for all the applications except one. See the User's Guide--Development and Deployment Strategies.

External Globals and ABC's Source Module

Specify whether the external library is dynamically or statically linked.

This sets the flag parameter of the DLL attribute for template generated class declarations. See the Language Reference for more information on the DLL attribute.

Generate Embed Comments

Check this box to generate identifying comments surrounding all embedded source code.

Non Volatile Storage Settings

The Clarion and ABC Templates non volatile storage support the use of .INI (standard windows initialization) files or the system registry. These are mediums that store information for an application between sessions.

One use for non volatile storage is to store the user’s preferred window positions for the next session. Another use is to save program configuration settings between sessions. Clarion’s procedure templates let you do both automatically when you enable non volatile storage support.

Location

Choose between INI file and System Registry. Selecting INI File will Enable the INI File Options button:

INI File Options:

.INI File to use

Specify whether to use the default.INI file name. By default, the application creates the .INI file with the same file name as your application. To use another name select the Other choice from the drop down list.

Other File Name

Specify another .INI file name other than the default. You may specify a variable, a full pathname, no path, or a path of (.\) to generate the INI file as shown below.

 

Other File Name

Resulting INI File Location

!variable

(The contents of the variable specified)

C:\programs\payroll.ini

c:programs\payroll.ini

payroll.ini

(windows system directory)\payroll.ini

.\payroll.ini

(current directory)\payroll.ini

 

Location of "Program Name.INI" File

Use App Directory

Check this option to direct your INI file to be located in your application directory.

CSIDL Folder

Check this option to direct your INI file to be located to a designated CSIDL location.

See the CSIDL Support topic for detailed information.

CSIDL Folder

Select from one of 5 CSIDL locations. These locations are documented in the CSIDL Support topic.

Company Name SubFolder

Specify a sub-folder name to attach to the CSIDL folder.

Product Name SubFolder

Specify a sub-folder name to attach to the Company Name folder. If the Company Name subfolder is blank, the Product Name subfolder is attached to the CSIDL location.

Create folders if they don’t exist

Check this box to allow the templates to create the designated sub folders if they do not exist.

 

Registry Options

App Registry Key

Enter the name of the key whose value is to be queried. This may contain a path separated by backslash ‘\’ characters. Example: SOFTWARE\SoftVelocity\Clarion7

Registry Root

Use the drop list to select a valid registry root where your registry key will be located.

For more information as to which registry root may bge applicable to your application, please see the following Microsoft Support topic:

Windows registry information for advanced users

 

Disable Save/Restore Window Locations

Check this box if you would like to omit the last window size and position from being stored in the non-volatile storage source for all window structures in your application. You can locally enable only the windows that you want to maintain at the target procedure level.

Preserve

Once you've enabled INI support, the ABC Templates automatically save and restore the values of designated global variables. This provides a simple mechanism for saving and reapplying end user preferences or program configuration options. Press the Data button in the Global Properties dialog to define your global variables, and then press the Preserve button to designate selected variables to automatically save and restore.

In the Preserve dialog window, you have the standard buttons available Insert, Delete, or examine and modify (Properties) the preserved variable. You can also move the variables up and down in the list.

Enable Exception Message with Procedure Stack

Check this option to activate an alternative runtime exception dialog that contains extended stack information. You should only need to do this if you have a reproducible exception at runtime and are requested by the SoftVelocity development team to provide this information.

Enable Run-Time Translation

Generates code to translate window text based on the translation strings defined by default in the ABUTIL.TRN file. See Translator Class for more information.

Enable Fuzzy Matching

Check this box to generate the necessary objects to support the BrowseFuzzyMatching control template.

 

Fuzzy Matching Options

Ignore Case

Check this box to enable all fuzzy searches in your application to be case insensitive. This can be overridden individually. See FuzzyClass- SetOption method for more information.

Word Only

Check this box to enable all fuzzy searches in your application to search on whole words only. This can be overridden individually. See FuzzyClass- SetOption method for more information.

App Settings

Use Legacy Button Margins Compatibility

Sets the RTL to use the legacy drawing algorithm (prior to C8.9119).
The code generated to enable this is:
 SYSTEM {PROP:Compatibility} = BOR (4, SYSTEM {PROP:Compatibility})

Application Manifest

Press this button to access manifest options including Execution Levels and UI Access.

Extended UI

Press this button to access the Extended UI interface.

Provide visual indicators on control with focus

This check box refers to certain input controls that will change color when you select them. Check this box to enable the Set Visual Indicators button, which allows you to designate the controls and colors to use with this feature.

Field Navigation

Use ENTER Instead Tab

The TAB key is the standard key press in Windows for moving from control to control. If you wish to replace this with the ENTER key (the DOS standard), check this box. In addition, the DownKey/EnterKey now works as the TabKey, and the UpKey now works as ShiftTab for moving to the previous control.

The ENTRY, SPIN, DROPCOMBO & COMBO controls use the standard remapping described above.

For the LIST & DROPLIST controls: The EnterKey works as the TabKey. The setting to enable the RightKey to work as the TabKey and the LeftKey to work as ShiftTab is local to the procedure (Disable Left/Right Key on List controls).

For BUTTON controls, the DownKey and RightKey works as the TabKey, and the UpKey and LeftKey work as ShiftTab

For RADIO controls, the EnterKey works as the TabKey.

For CHECK controls: The EnterKey,DownKey and RightKey work as the TabKey, and the UpKey and LeftKey work as the ShiftTab.

Exclude Controls

Press this button to designate special controls that will NOT use the ENTER key for navigation.

Default Action

Choose Enable to turn on Field Navigation for all procedures by default. Choose Disable to turn off Field Navigation by default. This settings can be overridden on the procedure level.

Choose Runtime to enable or disable the Field Navigation feature based on the Default Value expression.

Default Value

Enter an expression to use to evaluate at runtime whether or not Field Navigation will be available. Press the E button to call the Expression Editor. This dialog is used to help you construct syntactically correct expressions to use in the appropriate prompt.

 

Report Preview Mode (Clarion chain only)

Select the type of Print Preview you wish to use in your applications. Click on ABC Class to use the Preview Class used in the ABC template chain, or click Procedure to use a default preview procedure found in the Clarion template chain.

If Procedure is selected, accept the Default Report Preview procedure used by the Clarion template chain, or enter an alternate procedure name (one that you have modified, or obtained from a third-party source.)

Extended Browse Options

LIST/DROP/COMBO Line (Height)

Preset your list box line height for all LIST, DROP and COMBO controls.

This setting only affects the controls’ behavior at runtime, not in the Designer session or Window Previewer.

Enable Auto Size BrowseBox Columns

Check this box to enable the auto resize column feature. At runtime, double-click on the right line of any column and it will automatically resize to fit the data contents. You can disable this feature in the local Browse procedure settings.

Enable List Format Manager

Check this box to enable the List Format Manager button.

 

Browse Active Invisible (Clarion Templates Only)

The "Active Invisible" property indicates whether to fill or refill the browse queue when the browse LIST is "invisible" because it is on a non-selected TAB or is otherwise hidden. Check this box to refill the queue when the LIST is invisible; and uncheck to suppress the refill.

Turning off Active Invisible improves performance for procedures with "invisible" browse lists; however, buffer contents for the invisible browse list are not current and should not be relied upon.

Enable Rebase (DLL Applications Only)

Check this box to enable the Image Base Memory Address button, which provides rebasing options for this DLL target application.

File Control

The File Control dialog lets you override some of the settings in your dictionary, as well as define how procedures will access files. You can specify file attributes for all files, or individually.

Generate all file declarations

Generates all file declarations in the dictionary, even if not specified in any procedure's Data / Tables Pad.

When done with a file (Clarion templates only)

Specifies whether the application automatically closes each file when a procedure is finished.

One way in which you can design your application to be a "well-behaved" Windows application is not to hog system resources. You can return file handles not in use by checking this box.

 

Enclose RI code in transaction frame

Enables rollback of data if an update fails.

If all files in a relation chain use the same file system, and the file system supports transaction framing, and you do not want transaction framing around the RI code, you must clear the check box here, and choose No for each file on the Individual File Overrides tab.

 

Issue template warning if LOGOUT() not allowed (Clarion templates ONLY)

Enables a compile time warning when your data dictionary includes a file driver which does not support the LOGOUT() function.

You should clear this check box for drivers such as dBase III. See Also: Database Drivers.

 

Seconds for RECOVER

Specifies the number of seconds to wait before invoking the RECOVER process. This is applicable only to Clarion files.

 

File Attributes

Threaded

Specifies whether the application generator adds the THREAD attribute to FILE structures. THREAD is needed for MDI browse and form procedures to prevent record buffer conflicts when the end user changes focus from one thread to another.

Use File Setting

Sets the THREAD attribute according to the data dictionary.

All Threaded

Adds the THREAD attribute to each FILE.

None Threaded

Omits the THREAD attribute for each FILE.

Create

Specifies whether your application should allow the creation of a data file should it not exist. Adds the CREATE attribute to the FILE structure.

Use File Setting

Sets the CREATE attribute according to the data dictionary.

Create All

Adds the CREATE attribute to each FILE.

Create None

Omits the CREATE attribute for each FILE.

External

Specifies whether the application generator adds the EXTERNAL attribute to FILE structures. EXTERNAL specifies the memory for the FILE's record buffer is allocated by an external library.

None External

Omits the EXTERNAL attribute from all file declarations.

All External

Adds the EXTERNAL attribute to all file declarations and lets you specify the Declaring Module and whether All files are declared in another .APP.

When using EXTERNAL to declare a FILE shared by multiple libraries (.LIBs, or .DLLs and .EXE), only one library should define the FILE without the EXTERNAL attribute. This ensures that there is only one record buffer allocated for the FILE and all the libraries and the .EXE will reference the same memory when referring to data elements from that FILE.

Generate File Declarations in Modules

This checkbox is valid (enabled) when global data and file declarations are local to the application (EXE/DLL target with no external files).

When this check box is on (checked), file declarations are created in separate source files (similar to the ABC FileManager methods which are located in "base class" (BC) files). These source files use a FCx.CLW naming convention (e.g., myappFC0.CLW - the first five letters of the application name are prepended to the source file name). All file declarations in the main module are then declared with the EXTERNAL('') attribute.

This option also generates all defined global data in other source files as follows:

 

myappGLO.CLW stores the global data as it is defined in the main PROGRAM module.

myappGLF.CLW stores the same global data but with the EXTERNAL attribute added.

 

where myapp is the first five letters of the application name.

In the main program module, an INCLUDE for myappGLF.CLW is generated. If any global data is marked as Generate Last in the data dictionary, these data elements are defined appropriately in the program’s main module only.

The default value on how many files are declared in each GLn.CLW module is set by a global template symbol %FilesPerFCModule using a default value of 100 files per module.

This option is essential for large applications using more than 500 files, but any application can use this option to better organize file and global data declarations. Use the Generate Last option only for variables that require it.

 

Export all File Declarations

Checking this box tells the Application Generator to add the file information to the Export file. This is only available when the project's Target Type is a DLL and you specify None External (see above).

Declaring Module

The filename (without extension) of the MEMBER module containing the FILE definition without the EXTERNAL attribute. If the FILE is defined in a PROGRAM module, leave this field blank.

All files are declared in another .APP

Checking this box tells the Application Generator that the files are declared in another APP (rather than hand code). Application Generator adds the EXTERNAL flag on the File:Open flag (that controls CheckOpen), ensuring that files are opened and closed at the right time, thereby preserving the integrity of the file data buffers.

Enable Triggers Support (CLARION Template Chain Only)

Check this box to enable the Dictionary Triggers support that is part of the ABC Class FileManager. See the topic on Dictionary Triggers for more information.

 

File Access

File Open Mode

Specifies how your application opens files.

Open

Opens files as Read/Write(primary user) + Deny Write(all other users).

Share

Opens files as Read/Write(primary user) + Deny None(all other users).

Other

Specify a custom combination of primary user + other user access.

User Access

Choose from Read Only, Write Only, or Read and Write.

Other Access

Choose from Deny None, Deny All, Deny Read, Deny Write, or Any Access (FCB compatibility mode).

 

Individual File Overrides

Select the Individual File Overrides tab to override data dictionary settings for individual files in the data dictionary. Highlight the file whose attributes you want to change, then press the Properties button.

The prompts on this tab mirror those on the File Control tab, and they behave exactly the same way, with these exceptions.

·

The settings here apply only to the single file selected.

·

Each drop-down list provides an additional choice: Use Default. Use Default sets the attribute according to the File Control tab.

File Manager Options for Filename

Press this button to display the File Manager Options dialog. You may derive your own new methods or properties for the File Manager Class, or you may specify your own third party class to override the default File Manager Class.

Relation Manager Options for Filename

Press this button to display the Relation Manager Options dialog. You may derive your own new methods or properties for the Relation Manager Class, or you may specify your own third party class to override the default Relation Manager Class.

File Attributes

These settings reflect the same settings found on the File Control tab, but apply only to the individual file currently selected.

File Declaration Mode

Select from the drop down list one of the four following options. The table in which you are overriding properties for will be generated as a FILE, QUEUE, or GROUP.

Use User Options

The table is generated based on the user options defined in the dictionary. The user options can be set to DATA,QUEUE or DATA,GROUP. This will cause the table to be generated as a QUEUE or GROUP respectively. No user options will cause the table to be generated as a FILE. The File Access prompts for User Options are the same as the prompts on the File Control tab.

As FILE

The table will be generated as a FILE structure. The File Access prompts for User Options are the same as the prompts on the File Control tab.

As GROUP

The table will be generated as a GROUP structure with the possibility of the attributes below.

THREAD

Check this box to add the THREAD attribute to the GROUP structure.

BINDABLE

Check this box to add the BINDABLE attribute to the GROUP structure.

NAME

Specifies the value of the NAME attribute added to the GROUP structure.

OVER

Specifies the value of the OVER attribute added to the GROUP structure.

TYPE

Check this box to add the TYPE attribute to the GROUP structure.

As QUEUE

The table will be generated as a QUEUE structure with the possibility of the attributes below.

THREAD

Check this box to add the THREAD attribute to the QUEUE structure.

BINDABLE

Check this box to add the BINDABLE attribute to the QUEUE structure.

NAME

Specifies the value of the NAME attribute added to the QUEUE structure.

OVER

Specifies the value of the OVER attribute added to the QUEUE structure.

 

File Access

File Open Mode

Specifies how your application shares files among concurrent users. See the Language Reference for more information.

Open   -  Opens file as:

Read/Write (primary user) +

Deny Write (all other users).

Share  - Opens files as:

Read/Write (primary user) +

Deny None (all other users).

Other  - Specify a custom combination of primary user + other user access.

User Access

Choose from Read Only, Write Only, or Read and Write.

Other Access

Choose from Deny None, Deny All, Deny Read, Deny Write, or Any Access (FCB Compatibility mode).

 

Defer Opening Files until accessed

Specifies when your application opens related files. Select Yes to delay opening the file until it is accessed. Delaying the open can improve performance when accessing only one of a series of related files. Select No to open the file immediately whenever a related file is opened. See File Manager Class – Lazy Open and Use File for more information.

 

 

File Access Data Path

 

Data Files Path (ABC Tempate Chain Only)

Set System{Prop:DataPath} to this location

You can specify that your data files used in this application be located in an alternative location. All files with unqualif