====== COMMON QUESTIONS BY ProWindows(tm) USERS ====== QUESTION: When I try to run my program in the BASIC environment, I get a "SUBPROGRAM NOT DEFINED" message. Why? ANSWER: In order to use an external (non BASIC) function, you must load them into BASIC. This is done from the command line by entering (for our demos) : QB /AH /L litedemo.qlb (for QuickBASIC) QBX /AH /EA /L litedemo.qlb (for BASIC PDS 7) Then to be sure that you do not pass invalid parameters to a function, you must include the appropriate INCLUDE (.BI) file(s) in your BASIC source code. To use ProWindows LITE functions, you would use: REM $INCLUDE : 'lite.bi' If it still does not work, go to the "Set Paths" under the "Options" menu in the QB.EXE (or QBX.EXE) and make sure that the "Include Path" points to the drive and directory where the ProWindows (.BI) files are. ------------------------------------------------------------------ QUESTION: What can I do to make my EXE files smaller? ANSWER: The size of an EXE file is not necessarily related to how much memory the program will use. A good portion of the EXE file contains the "header" and "relocation table". The parts are NOT part of the program and are NOT loaded. They are just there to tell DOS how to load the program. When compiling from DOS, be sure to specify the '/EX' command when using LINK.EXE. This reduces the file size by about 30%. When you register your copy of ProWindows(tm), we will include a free copy of two programs that will further reduce the size of an EXE file by about 50% (average). We are constantly making our libraries smaller and smaller. As a registered user, you are entitled to FREE updates of the latest libraries (does not include major upgrades). In the last 2 months, we have made changes that have netted a 35% reduction in the size of ProWindows(tm) programs. We are not stopping there. ------------------------------------------------------------------ QUESTION: I just can't seem to get anything to work. What am I doing wrong? ANSWER: For every complex problem, there is probably an easy solution. If you get stuck, follow the next four steps: 1). Do not get mad or upset. 2). Take a couple of deep long breaths and relax. 3). Carefully read the file called "SUPPORT.DOC". 4). Contact DSE Technical Support in the manner easiet for you. Remember: There is no such thing as a "dumb question". ------------------------------------------------------------------ QUESTION: Why does the mouse cursor disappear when I print text to a window or the screen? ANSWER: Unlike BASIC's built-in PRINT statements (which use BIOS calls, ProWindows print statements (which write directly to video RAM) are not aware of the mouse. When printing text to a window, you should disable the mouse cursor, print the text, and then re-enable it. Try: MouseCursorOff ' text printing function MouseCursorOn ------------------------------------------------------------------ QUESTION: What do I do when LINK.EXE tells me I have "TOO MANY SEGMENTS"? ANSWER: Cry. Just kidding! LINK defaults to 128 segments. The following example shows you how to increase the segments to 256 (but you can use higher or lower numbers): LINK /SE:256 ------------------------------------------------------------------ QUESTION: What is "Video Recycling"? ANSWER: To maintain its high speed performance when manipulating windows, the Window Manager requires about 8K of memory as a "scratch pad". In standard mode, this memory is allocated out of the VirMem%() array and conventional memory. With all the memory demands placed on the system by the BASIC IDE and your programs, you want to limit the size of your arrays by as much as possible. This is the purpose of the VideoRecycle() routine. It forces the Window Manager to use the unused memory of your CGA/EGA/VGA cards and frees up about 24K of memory. Now you can reduce the size of the VirMem%() array and still maintain a large number of windows. ------------------------------------------------------------------ QUESTION: Why does my program quit and print a "REGISTRATION ENCOURAGEMENT" error message? ANSWER: Then the version you have is our ShareWare version. The ShareWare version works just like the registered version with the exception that you must call the Notice() routine within 60 seconds of calling the InitPro() routine. The Notice() routine displays a message reminding you of your obligation to register and pay for your copy if you decide to use it on a regular basis. NOTE: When you register, we will send you a disk that does not require the use of the Notice() routine. Because of this, the library is smaller and generates smaller EXE files.