TIP: Click on subject to list as thread! ANSI
echo: power_bas
to: ALLE
from: THOMAS GOHEL
date: 1997-01-01 00:00:00
subject: FAQ: PowerBASIC 04/16 (Bug`s - Part 2)

    2.10.  Error 454: END FUNCTION expected
    ---------------------------------------
    Versions: 3.0/3.1/3.2
    Known   : No
    This Bug can occur when a comment in an Inline-Assemblerline contains
    the ASCII- 154. Please read the previous paragraph for more
    information.
    2.11. Another REMARK-Problem with $ALIAS
    ----------------------------------------
    Versions: 3.0/3.1/3.2
    Known   : No
    This Bug is easily described. You may not use a ':' (ASCII 58) after a
    REMARK when using $ALIAS, becaue PowerBASIC interprets it as an Error
    462 (undefined SUB/FUNCTION).
    Example:
            $ALIAS DATA AS "_DATA"  ': Fit C-Segments to PowerBASIC
                                     ^
                                     causes Error 462
    2.12. The Mistake CDWRD in the OnLine-Hilfe
    -------------------------------------------
    Versions: 3.0 (possibly only German Version)
    Known   : Mistake corrected in German Version 3.0?
    There is a small typpo in the  in the OnLine-Help. Instead of 'CDWD'
    (the correct Command), 'CDWRD' was written. The Syntax is spelled
    correctly in the Manuals.
    Example:
            i??? = 1
            PRINT CDWRD(i???)        : 'wrong  Syntax
            PRINT CDWD(i???)         : 'correct Syntax
    2.13. The Mistake CVDWRD in the OnLine-Hilfe
    --------------------------------------------
    Versions: 3.0 (possibly only German Version)
    Known   : Mistake corrected in German Version 3.0 beseitigt?
    This time the typpo is 'CVDWRD'. Correct Syntax is 'CVDWD'. The Syntax
    is correct in the Manuals.
    2.14. Crash when pressing CTRL-C
    --------------------------------
    Versions: 3.0
    Known   : Bug corrected in Version 3.0
    This Bug is widely known and only occurs when you set the
    Compileroption $OPTION CNTLBREAK OFF while the BREAK-Flag in DOS is
    set to ON. (Usually it is set to OFF by MS-DOS). When you press CTRL-C
    under these circumstances your finished program will simply crash.
    You can get past this by locking the BREAK-Flag using your own
    PowerBASIC-FUNCTION. You can achieve this using the following
    routines:
            SHARED BreakFlag%
            FUNCTION BreakAus public
                    'Save and deactivate CTRL-BREAK Interrupt
                    ! mov ax, &h3300
                    ! int &h21
                    ! mov BreakFlag%, dx
                    ! mov ax, &h3301
                    ! mov dx, 0
                    ! int &h21
            END FUNCTION
            FUNCTION BreakReset public
                    'Restore Control-Break-Interrupt
                    ! mov ax, &h3301
                    ! mov dx, BreakFlag%
                    ! int &h21
            END FUNCTION
    You can find a file named CNTL.ZIP in some BBS's, it is the official
    BugFix.
    2.15. Error when producing Output with "CONS:" and CTRL-C
    ---------------------------------------------------------
    Versions: 3.0
    Known   : Bug corrected in Version 3.10
    This Error is also a cause of the CTRL-C Bug, some side effects can
    occur when producing Output with "CONS:". More detailed Information is
    not known to me personally.
    2.16. The Problem with Error 244 in a Stand Alone EXE
    -----------------------------------------------------
    Versions: 3.0
    Known   : Bug corrected in Version 3.10
    Should you user PowerBASIC 3.0 and work with the Inline-Assembler a
    lot, in connection with the two internal PowerBASIC FUNCTIONS
            GetStrLoc
            GetStrAlloc
    the above named Error 244 (Library does not exist) can occur. This
    Error only occurs in a Stand Alone EXE and not within the PowerBASIC-
    IDE. The two internal PowerBASIC FUNCTIONS must be within a PowerBASIC
    Unit. To get aorund this problem use STRSEG/STRPTR, temporary save
    them and then MOV them into the corret Processorregisters.
    2.17. Problems when linking multiple Lines of Source
    ----------------------------------------------------
    Versions: 3.0/3.1
    Known   : ???????
    The PowerBASIC-IDE as well as the Commandlinecompiler have some casual
    problems when you spread Sourcecode over more than one line, when it
    actually has to be in one line.
    Example:
            C$ = CHR$( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)+_
                 CHR$( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
    Experience shows that in connection with bigger projects the Compiler
    likes the wrong interpreting of the lines. Saying: The programmer will
    get a strange Error omewhere in the Sourcecode. Luckily at the correct
    position most of the time.
    2.18. Problems with the WATCH-Window and multidimensional Arrays
    ----------------------------------------------------------------
    Versions: 3.0/3.1
    Known   : Problem corrected in Version 3.10
    The WATCH-Window can not display multidimensional Arrays correctly.
    2.19. Buggy internal Function/Variable: pbvScrnCols
    ---------------------------------------------------
    Versions: 3.0/3.1/3.2
    Known   : No
    This internal Variable should return the number of currently displayed
    columns on the screen. In connection with all modes that do not use
    the 40 or 80 column mode, an incorrect number will be returned. Such
    modes can be set on every VGA-Card and quite a few Tools (i. e. Disk
    Command Center) even support them!
    This little FUNCTION can solve this problem:
            DIM fixScrnCols AS BYTE
            ! mov  ah, &h0f
            ! int  &h10
            ! mov fixScrnCols, ah
    2.20. Incorrect internal Function/Variable: pbvHost
    ---------------------------------------------------
    Versions: 3.0/3.1/3.2
    Known   : No
    Bit 8 is not set under Microsoft Windows(NT) 3.x
    2.21. A little difference in the new InLine-ASM of V3.1/3.2
    ------------------------------------------------------------
    Versions: 3.1/3.2
    Known   : Correction demanded at PowerBASIC Inc.
    This is explained quickly. While PowerBASIC 3.0 accepts the following
    line of Inline-Assembler code:
            ! mov ax, &h0A000
    PowerBASIC 3.1/3.2 will not work with it, even if this feature is new
    in Version 3.1/3.2.
    2.22. The dd-Problem in PowerBASIC 3.1/3.2
    -------------------------------------------
    Versions: 3.1/3.2
    Known   : Correction demanded at PowerBASIC Inc.
    This is a quickly described Bug, because the new 32Bit &h...., &o....
    &b Commands are seen as common knowledge. PowerBASIC simply forgot the
    implementation of them in the Inline-Assembler!! You don't believe me,
    the try the following:
            ! dd &h12345678
    It still has to be cleared why the command 'dd' exists in PowerBASIC
    3.0/3.1 & 3.2 anyways. ;-)
    2.23. Undocumented internal Variables in PowerBASIC 3.0/3.1/3.2
    ---------------------------------------------------------------
    The following internal Variables already exist in PowerBASIC 3.0, but
    are not documented:
    pbvBinBase
    pbvDefSeg
    pbvHost
    pbvScrnBuff
    pbvSwitch
    pbvVTxtX1
    pbvVtxtX2
    pbvVTxtY1
    pbvVtxtY2
    The following internal Variables are not documented from Version 3.1
    on, but still exist:
    pbvRestore
    The position of the Datasegments are identical in PowerBASIC 3.0 and
    PowerBASIC 3.1/3.2.
    2.24. The PRINT-Bug in PowerBASIC 3.2
    -------------------------------------
    Known    : ????
    In Version 3.2 of PowerBASIC Variables of type DWORD are not printed
    correctly with PRINT:
    Example:
            Demo??? = 1234567890
            PRINT Demo???
    causes the following output:
    PowerBASIC 3.0/3.1: 1234567890
    PowerBASIC 3.2    : 1.234568+E
    Using PRINT USING can help here...
--- CrossPoint v3.11 R
2:2410/330.1)
---------------
* Origin: PBSOUND, PBFILES (20MB), PBFAQ, PBRULES, PBHIVGA at:

SOURCE: echomail via exec-pc

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.