Skip to main content

Constants and Variables

Supported SAL system constants and variables are exposed through PPJ.Runtime.Sys. Ice Porter qualifies their references with the Sys class name. User-defined application globals have separate generated containers; see Global Items.

The most used system variables in SAL are hWndForm, hWndItem and hWndMDI. All of them are supported in the Sys class and are updated automatically using a stacked context system. See SalContext for more information.

bStaticsAsWindows has no equivalent role in this control model because SAL static controls are represented as ordinary .NET controls. Other availability details depend on the selected PPJ target.

A compatibility constant can remain declared even if the target no longer implements its effect. Obsolete attributes expose some of these cases as compiler warnings, but absence of a warning is not a complete support check. Review the operation that consumes the constant.

Unsupported constants

The table records historical desktop compatibility gaps. It is not an exhaustive list for every release or UI target.

ConstantDescription
OF_ReopenReview legacy reopen-buffer behavior; SalFileOpenExt is an obsolete stub, not a supported reopen mechanism.
TBL_Flag_HScrollByColsNot supported in the FlexGrid.NET and in general it's not needed.
TBL_Flag_ShowVScrollNot supported in the FlexGrid.NET and in general it's not needed.
TBL_Flag_ShowWaitCursorNot needed.
TPM_CenterAlignSystem constants for context menus not exposed by the .NET framework. In general it is not needed and not used in Windows standard GUI design guidelines.
TPM_RightAlignSystem constants for context menus not exposed by the .NET framework. In general it is not needed and not used in Windows standard GUI design guidelines.
TPM_RightButtonSystem constants for context menus not exposed by the .NET framework. In general it is not needed and not used in Windows standard GUI design guidelines.

Compatibility Review

A constant being declared does not prove its effect is implemented by every target. Treat obsolete warnings as migration review items, particularly for desktop-only window styles. The table records historical compatibility gaps; check the API for the selected release before retaining a workaround.