Pre-Compiled modules and libraries are now supported.
Unreferenced code is automatically removed from the compiled program to minimize the executable file size. This can be overridden using the #OPTIMIZE OFF metastatement.
There is a dramatic improvement of execution speed in many/most DWORD expressions.
Dramatic improvement in
Mask variable assignment expressions may contain any combination of LONG and DWORD values without error. Operators may include +, -, AND, OR, XOR.
Many new predefined numeric equates and string equates have been built-in to the compiler. One new equate is %PB_COMPILETIME which contains the date and time of compilation. See the Built-in string equates and Built-in numeric equates topics for a complete list.
Compiler error code 461 changed: INSTANCE arrays must be declared. INSTANCE arrays must be declared before any CLASS code.
Compiler error code 465 changed: May be defined only once. A program element which should only appear once was duplicated in your program. For example, two #STACK metastatements could cause this error to be generated. A common source of this problem is multiple #INCLUDE files which define the same term.
Compiler error code 466 changed: This name is already in use. This name (identifier) is used for more than one purpose, causing a fatal conflict. For example, you might have used the name ABC as both a variable and a label. You must rename one or both uses of this particular name. PowerBASIC generates this error when it sees the second use of the name.
Compiler error code 468 changed: This equate may not be redefined. A numeric or string equate is defined a second time with a different value. Equate definitions may appear more than once, but the value must remain constant.
Compiler error code 500 update: Variable name must be unique. All Global, Threaded, and Instance variable names must be unique to guarantee access to a specific variable. If #UNIQUE VAR ON is specified, then all variable names must be unique.
Compiler error code 561 added: END FASTPROC expected. A FASTPROC statement must be matched with an associated END FASTPROC.
Compiler error code 611 added: FASTPROC params must be ByVal Long Integer. FASTPROC parameters must be ByVal Long Integer.
Compiler error code 612 added: FASTPROC return may only be Long Integer. FASTPROC return value must be Long Integer or nothing.
Compiler error code 613 added: Cannot compile - the program is now running. The program you are trying to compile is currently executing. You may have to use Task Manager to force the program to end.
Compiler error code 616 added: END PREFIX expected. A PREFIX statement must be matched with an associated END PREFIX.
Compiler error code 618 added: END ASMDATA expected. An ASMDATA statement must be matched with an associated END ASMDATA.
Compiler error code 620 added: END ENUM expected. An ENUM statement must be matched with an associated END ENUM.
Compiler error code 624 added: Invalid THREADPARM variable type. THREADPARM must be a LONG, DWORD, or UDT PTR INSTANCE variable.
Compiler error code 626 added: Duplicate THREAD Method. THREAD Class must have exactly one THREAD Method.
Compiler error code 629 added: ALIAS disallows Private/Thread/Callback.
Compiler error code 631 added: Nested Link Files. You cannot link an SLL file into an SLL file.
Compiler error code 633 added: COMMON signature is mismatched. COMMON procedure signature (params, return type...) is mismatched.
Compiler error code 634 added: Undefined COMMON reference. COMMON item was referenced but not defined.
Compiler error code 638 added: Please change AS STRING to AS WSTRING.
Compiler error code 639 added: TYPE variable expected.
New Statements and Functions
Changes to existing Statements and Functions
New in the IDE