HTBasic Help
×
Menu
Index

Changes from 8.0 to 9.0

 
If you are upgrading from 8.x to this release, read the following material to see what changes may affect you.
 
The Numeric Compiler has now been fully integrated into HTBasic. It is available on the Tools menu. It has been enhanced for full support of LONG variables, a GUI
interface allowing for option checking, and sub selection. The Numeric Compiler can greatly increase execution speed of numerically intensive subroutines and can provide an additional level of security.
 
In addition to _cdecl type DLLs, _stdCall DLLs may now be called with the DLL Toolkit. They syntax is:
 
DLL GET "STDCALL VOID DLL:FUNCTION" AS "ALIAS"
DLL GET "CDECL VOID DLL:FUNCTION" AS "ALIAS"
DLL GET"VOID DLL:FUNCTION" AS "ALIAS" ! defaults to cdecl
 
Because the stdcall support was a last minute change, examples will be forthcoming. They will be made available on our website.
 
Timing resolution is improved for most Operating Systems down to 1ms. Use STATUS(32,5) to detect timing resolution. A 1 indicates the faster timing resolution is in effect.
 
GFONT now has full support for double byte fonts such as MS Mincho for the Japanese language. Start-up command line is: "C:\Program Files\HTBWin90\Htbwin.exe" -fn "MS Mincho",14,128
 
Corrected GFONT to properly handle LORG modification to LABEL.
 
HTBasic has been optimized for faster execution of programs. The Runtime version has been optimized so that it now runs programs as quickly as the Development version.
 
Using Ctrl + A to select all code in the editor then using copy and paste into a new document would only get the first page of code. It now properly copies all lines of the program.
 
Using Ctrl+C to copy the contents of the command line in the Windows editor now properly copies the contents to the clipboard.
 
The status bar is now properly displaying run state while in debug mode.
 
The wait cursor no longer comes up when trying to run a file where there is no security access for write.
 
The Windows print monitor now properly displays the filename of the program producing the printed output. Previously it would only display the source as HTBasic.
 
XREF no longer causes program errors when run with no program in memory.
 
XREF, when run with the SUB option, now properly only displays the subs.
 
Continuing a paused program now properly clears the display line of the paused program.
 
When using the performance tuning register with CONTROL KBD,207;3 HTBasic now properly returns to normal priority when stopped. This prevents an erroneous wait cursor when opening a new file.
 
The >= expression evaluator is now properly working for LONG variable types.
 
Corrected LONG variable behavior when comparing to zero in IF statements.
 
ALLOCATE now functions with all LONG variable conditions.
 
LONG support added to the BIT functions, DET, IVAL, and IVAL$ statements.
 
Corrected STATIC declaration of multiple variables.
 
Corrected editor behavior when dealing with SUBs, CSUBs, out of context areas.
 
Properly allow deletion of CSUBs when highlighting the CSUB and pressing the delete key. Corrected deletion of CSUBs using the DEL command.
 
Write to Display CSUB usage is slightly changed. For the dispxy.c second byte color and enhancement attributes use the following values. These were updated to provide more flexibility in the color enhancement attribute.
0x0F => 0x00ff
0x010 => 0x0100
0x020 => 0x0200
0x040 => 0x0400
 
Debugger correctly handles breakpoints set on first line of a program. Previously it would not always catch the breakpoint.
 
Breakpoints for string variables now properly handle variables 15 and more characters in length.
 
In Legacy Keyboard mode, ON KBD ALL now properly processes Ctrl+N and Ctrl+O. Previously these were processed as menu items.
 
Non-colormap mode was restored. In versions 8.x HTBasic was always in colormap mode. GESCAPE CRT,4 now properly returns to normal drawing mode.
 
For programmatic control of the NUM LOCK key, CONTROL KBD,211;X and STATUS(Kbd,211) were implemented. Where X=0 turns off NUM LOCK, and X=1 turns on NUM LOCK.
 
CONTROL KBD,16;1 now properly turns off keyboard scrolling. Previously this feature would only work if the program was paused or stopped.
 
In the DEBUGGER using Step Out now properly Debug Pauses at first line after return from sub call. Previously it would run to the end of the program.
 
Opening a new file after opening HTBasic by double clicking on an associated file type such as .prg, now properly clears the old file out of memory before creating the blank document.
 
DLL toolkit was updated to support passing of full arrays. To pass a full array to a DLL, pass the first element in the array and then in the DLL receive it as a pointer to an array, and access it as such.
 
DLL toolkit was repaired to properly process large programs with large quantities of variables.
 
One line IF statements that call DLLs with the DLL toolkit now properly evaluate.
 
When attempting to edit a program while in Debug mode, HTBasic now properly stops debug and returns to edit mode. Previously it would appear to be in edit mode but would not accept changes to the program.
 
The TRACK CRT cross-hair now properly appears when alpha and graphics are separate.
 
Editor text colors now properly change colors as per the Edit Environment Dialog box.
 
Dump Device Is to a file with EXPANDED option using the PS-DUMP driver now properly rotates instead of mirroring the output.
 
The PS driver now will properly output to paper sizes larger than 8.5 X 11. Previously any size specifications in the PLOTTER IS statement were ignored.
 
The BASIC Plus CONFG file is now properly changing all colors. Previously some colors would not change to their specifications in the CONFIG file.
 
The BASIC Plus File Dialog now properly displays a full list of drives on the drives drop-down. The ESC key is properly treated like the cancel button. Not selecting a file properly returns just the directory. Previously the HTBTree DLL was used for traversing directories.
 
The BASIC Plus List widget now properly automatically adjusts line height as necessary based upon the FONT attribute.
 
The BASIC Plus Combo Widget now properly displays the drop-down under all OS’s. Previously under Windows 98 it would place the drop-down in an unpredictable location.
 
Close functionality via X in top right corner added to all BASIC Plus widgets. Added a "CLOSEABLE" attribute and an "ON SYSTEM CLOSE" event.
For example:
CONTROL @Main;SET ("CLOSEABLE":1)
 
ON EVENT @Main,"SYSTEM CLOSE" GOTO Finis
 
The BASIC Plus TIMER widget now allows LONG values for the VALUE attribute.
 
The BASIC Plus widget Bitmap was corrected to work with all screen resolutions and color depths. Corrected DUMP WINDOW and DUMP AREA attributes to function as documented.
 
The default color for LABEL statements is again a pure white. In version 8.3 it was 1% grey.
 
The memory leak caused by loading multiple instances of BPLUS was corrected.
 
Using lengthy ASSIGN statements with the BASIC Plus Bar Widget no longer causes Runtime Errors.
 
In the Save As dialog saving to a text file no longer requires CONFIGURE SAVE ASCII OFF to be set. The file created now by default is readable by word processors and source saving programs.
 
Using re-save to save a file that is in memory but not available on disk now properly saves the file, or prompts for a disk if the disk has been removed.
 
Error messages may now be displayed in a dialog box. This may be enabled/disabled in the run environment dialog.
 
Using RE-STORE SUB Subname TO "filename" to store subroutines to a file no longer improperly creates files with unknown passwords.
 
Values that fit into the INTEGER variable range, not specifically declared as REAL variable types no longer automatically convert to LONG variables.
 
Using ENTER from a Buffer created by the CAT command now properly displays the catalog.
 
The GUI GOTO selection dialog has been repaired to properly move to Functions that have names 15 characters in length.
 
Using LIST KEY with PRT set to 10 now properly lists the softkeys to the default printer.
 
The Numeric Compiler now compiles the calling of CSUBs from ON EVENT statements. However, since this is not supported, it generates error 2007 when running. It is recommended to call a sub from the ON EVENT that in turn calls the CSUB.
 
The Application Runtime version now properly accepts –geometry switches specified in character size, i.e. less than 100.
 
The Application Runtime version now properly produces an error when a file load attempt from the file menu fails.
 
In the Runtime version, GESCAPE codes 64 & 65 now properly toggle the program name in the title bar.
 
 
DEVICE SETUP
 
The Device Setup menu option was moved to the proper location on the Tools menu. In the runtime version, it is on the File menu.
 
A SCRATCH BIN command was added for removing all drivers that can be unloaded from memory.
 
CONFIGURE SYSTEM ("DEVICE SETUP") brings up the Device Setup Programatically.
 
The number of loadable drivers in the Device Setup has been increased from 16 to 32.
 
Shortcut keys were added for adding devices to the Device Setup.
 
GPIBNI                
 
The GPIBNI Driver has been added to the Device Setup, and can now be loaded and configured from the Device Setup.
 
The driver now properly reports SRQ status even after a REQUEST. Previously using STATUS (7,7) after a REQUEST statement would give bad data.
 
Using REQUEST no longer causes a program crash when used with a board loaded as NOT SYSTEM.
 
The ENTER statement may now be configured to terminate upon receiving a CR/LF
 
The TRANSFER statement was enhanced for stability.
 
All Interrupts are now supported with the GPIBNI driver except for the IFC, PPOLL, and SPAS Interrupts. Supported Interrupts will consistently interrupt an unlimited number of times.
 
Multiple National Instrument cards can now be loaded and used concurrently by the GPIBNI driver. Previously using more than one card with the same driver would cause unpredictable results.
 
SERIAL
 
Serial TRANSFER no longer stops when transferring to large buffers.
 
Serial status register six no longer changes when using COM statements. Previously COM statements would alter the contents of the register.
 
Serial status register five now reports correct values. Previously the values were the opposite of what was expected.
 
The Serial Interrupt thread now gets started correctly. Supported Interrupts will consistently interrupt an unlimited number of times. Serial Drivers Modem status Interrupt is now Interrupting correctly.
 
When changing Handshaking options using control statements, the check box’s in the Device setup now get changed to match the current configuration.
 
GPIB900
 
The GPIB900 Driver has been added to the Device Setup, and can now be loaded and configured from the Device Setup. This driver is a kernel level driver and is supported by all Operating Systems supported by HTBasic. It is no longer necessary to use Agilent’s SICL I/O libraries to use this card under NT.
 
Multiple TransEra 900 cards can now be loaded and used concurrently using the GPIB900 driver.
 
Supported Interrupts will consistently interrupt an unlimited number of times. PPOLL Interrupts are now supported using the GPIB900 Driver.
 
Transfer statements are now fully supported using the GPIB900 driver.
 
GPIO
 
The GPIO Drivers have been added to the Device Setup, and can now be loaded and configured from the Device Setup. The GPIO600 driver is for the TransEra Model 600 GPIO board. The GPIO650 driver is for the TransEra Model 650 GPIO board. Both of these drivers are kernel level drivers and are supported by all Operating Systems supported by HTBasic.