Program Information File
The PLBWIN program information file (PLBWIN.INI) file contains information that allows the user to tailor the runtime.
The .ini file name processing occurs as follows:
The runtime qualifies and uses an INI file when the file contains any section header. A section header is an INI file record that starts with '[' and is terminated with a ']'.
The runtime looks for and uses an INI filename found in three possible directories. The runtime always processes the INI files in the same order giving the user the ability to override globally defined parameters. The file name searching is as follows:
First, the runtime looks for an INI filename in the current working directory. This allows someone doing very specific and local program execution using keyword controls that override default keyword controls specified in (b) or (c) below.
Second, the runtime looks for an INI filename in the current user Windows directory. If the INI filename is found, it becomes the local keyword controls for the runtime. This allows someone to define workstation INI file controls. The local INI file controls can override (c) below.
Third, the runtime looks for an INI filename in the directory where PLBWIN.EXE is found. If the INI filename is found, it becomes the global (default) keyword controls for the runtime.
If the runtime is started without using the '-i' option, the runtime looks for the default INI file named 'PLBWIN.INI' in the three possible areas. Any PLBWIN.INI files found in the three directories are then used to locate requested INI file keywords in the order as described in (B) above.
If the runtime is started with the '-i' option being specified and the INI file name does not have a path specified, the runtime looks for the INI file name in the three possible directories defined in (B) above. The runtime only processes the user named INI file from the three directories defined in (b.) above. This means the 'PLBWIN.INI' is NOT used in this case.
If the runtime is started with the '-i' option being specified and the INI file name does have a path specified, the runtime looks for and uses the single specified INI file if found. This case disables the runtime from processing multiple INI files as described in (B) above.
Keywords with an associated value are place in sections. The sections are indicated by surrounding the section name with square brackets. The [version] and [environment] sections are required and at a minimum must contain the following keywords and values:
Within the [environment] section, the user may specify additional Runtime Keywords.
The user can initiate a file version check by adding a section to the INI file named [vercheck]. In this section, the user specifies file entries that identify file names and expected file version. When a specified file does not meet the specified version, a U38 error occurs. A diagnostic value indicates what kind of error was encountered and the entry number causing the error is provided. The file version checking can only be used for files generated as 32 bit modules.
The format of each entry in the [vercheck] section must begin with a keyword identified as 'VERSIONnnn'. The 'nnn' value must be a sequential number from one to 999. The entries must be incrementing values without any breaks in the number sequence. The format of an entry is as follows:
Where:
|
@ |
Optional character that identifies when the {filename} file cannot be located, the line entry validation is ignored and no error is reported. |
|
nnn |
Numeric value that identifies the OS type for which a line entry file is validated. The acceptable values are as follows: 1 - Windows NT 2 - Windows 3.1x 3 - Windows 95 4 - Windows 98
If the 'nnn' value is zero, it is the same as if no value is specified. Any other value than those above will cause a U38 error with diagnostic value of '10xxx' where ‘xxx' is the line entry number. |
Note:
The 'nnnn' value specified in the first format can be calculated using the 'aa' and 'bb' value specified in the second format as follows:
nnnn = ( aa << 16 ) + bb
Example 1:
|
|
|
|
|
|
Example 2:
|
|
| ||
|
|
;Error for all cases | ||
|
|
;Do not give error when file cannot be found. | ||
|
|
;Always give error when file ;cannot be found when running;under Windows 95. Ignore otherwise. | ||
|
|
;Do not give error when file cannot be found;when running under Windows NT. Ignore;otherwise. | ||
Example 3:
|
|
|
|
or
|
|
|
|
When the first file version failure is detected, a U38 error is given with a diagnostic value to clarify the error.
When a diagnostic value is greater than 1000, the high order digit of the diagnostic value indicates the type of error encountered and the lower three digits (nnn) indicates the entry number in the [vercheck] section for which the problem has occurred.
The diagnostic subcode values are as follows:
|
Subcode |
Meaning |
|
1 |
Unable to load VERSION.DLL library. |
|
2 |
Unable to access VERSION.DLL library functions. |
|
1nnn |
The file name for the nnnth entry does not begin/end with a double quote or the file name is determined to be invalid. |
|
2nnn |
The nnnth entry has an invalid operator specified. |
|
3nnn |
The nnnth entry has data following the version number that is not allowed. |
|
4nnn |
The file for the nnnth entry cannot be found. |
|
5nnn |
The file for the nnnth entry does not have version information available. This could also occur when the file does not exist. |
|
6nnn |
The file for the nnnth entry has file version data too large to be processed by the runtime. |
|
7nnn |
The file version data cannot be retrieved for the nnnth file. |
|
8nnn |
The runtime is unable to query or use the file version data retrieved for the nnnth file. |
|
9nnn |
The file version data has failed to meet the test condition specified for the nnnth entry. |
Note that the file version data retrieved for a file is stored in the PLBWIN.LOG file when the '-d3' internal debugging option is used.
The Windows runtimes to allow a drive specification in all PLB filenames to be substituted with a user assigned string. This support is implemented as a straight string for string substitution where the runtime does not interpret or format the filename string as the substitution is performed. However, after the substitution is performed, a double path delimiter string (ie "\\") is replaced with a single path delimiter (ie "\").
The drive substitution is enabled by including a new section named [SubstDrives] in the runtime '.ini' configuration file. The [SubstDrives] includes any MSDOS drive specifications to be substituted as PLB instructions process the filename. The following drive substitution assignments are all valid:
See the Windows Drive Substition topic in Disk IO section of the PLB Language Reference for additional information.
See Also: PLBWIN Command Line, PLBWIN Runtime Requirements, PLBWIN Keywords, Compiler and Runtime Options
![]() |