Welcome to the new DelphiDabbler Code Library Documentation.

This is a new site that's currently running on alpha code. There are going to be bugs. If you discover any, please report them on the site's issues page (GitHub account required). Thanks.

Warning: Many URLs are going to change. Refer to the README file to discover which library project's documentation has been completed.

FileOS property

Project: Version Information Component

Unit: PJVersionInfo

Class: TPJVersionInfo

Applies to: ~>3.0

property FileOS: DWORD;


FileOS is a run time property that provides information about the operating system for which the application was designed.

The value is as specified in the fixed file information part of the VERSIONINFO resource statement.

The same value can also be found by reading the dwFileOS member of the VS_FIXEDFILEINFO structure that is accessed using the FixedFileInfo property.

The value of FileOS is made up of a combination of values. We first specify the host operating system, which can be one of:

Flag Description
VOS_NT Windows NT
VOS_OS232 32 bit OS2
VOS_OS216 16 bit OS2
VOS_UNKNOWN Any (or unspecified) host operating system

We then specify a target operating system that is running on one of the targets above by combining (ORing) one of the above with one of the following values:

Flag Description
VOS__WINDOWS32 32 bit Windows
VOS__WINDOWS16 16 bit Windows
VOS__PM32 Presentation Manager 32
VOS__PM16 Presentation Manager 16
VOS__BASE Any, unknown or unspecified target operating system

Some predefined combinations of the above flags are available. They are:

Flag Description
VOS_DOS_WINDOWS16 Windows 3.x running on MS-DOS
VOS_DOS_WINDOWS32 32 bit Windows runing on MS-DOS
VOS_OS216_PM16 Presentation Manager 16 running on 16 bit OS2
VOS_OS232_PM32 Presentation Manager 32 running on 32 bit OS2
VOS_NT_WINDOWS32 32 bit Windows running on Windows NT

Symbolic constants for all the above flags are defined in the Windows unit.

Some of the flags are now obsolete - for example VOS__PM32 and _VOS_OS232 but may still exist in legacy programs.