Artwork by Don

HotBasic™ News Continued 2006

Nov 30 HotBasic 5.0a decreases compile time by further optimization of the new INDEX Object and produces .obj modules where all within-module relative relocations are done by the compiler instead of by the linker.  This latter feature affects all $APPTYPES, should itself reduce compile time, and further, hides almost all user label names and procedure entry point names -- they are now absent from the .obj module symbol table.

Nov 13 HotBasic 5.0 adds (1) support for STD and LIB procedures in DECLARE/CDECL statements for "As SUB" and "As FUNCTION" Custom Object items, (2) internal variable hbItem -- 0-based offset of result for .Item() or FIELD$() string functions (see Edith 1.0 download) and (3) use of new INDEX Object (index.inc) to reduce compile-time for long source code inputs.

Nov 6 HotBasic 4.9e now maps WM_NOTIFY messages to .OnMessage events for FORM child objects, for which an .OnMessage procedure is treated as an "OnNotify".

Nov 5 MILESTONE: HotBasic Linux released. Present HotBasic Windows users can use their current password once the Linux version has been licensed and new Linux users are very welcome.

Nov 3 HotBasic 4.9e adds CDECL keyword used in place of DECLARE to specify that CDECL calling conventions be used for STD or LIB declarations.

Oct 23 HotBasic 4.9d corrects an issue when SELF and THIS syntax is used in an expression and a memory leak with the BITMAP .Recreate method.

Oct 17 HotBasic 4.9b adds USE statement providing full access to native Objects by pointer.

Oct 15 HotBasic 4.9a adds SELF.SomeProperty syntax for use in Custom Object procedure code blocks. SELF works exactly like THIS, with the exception that it is auto-defined on entry into Custom Object "As SUB" and "As FUNCTION" code and therefore, is used only in such procedures.

Oct 14 HotBasic 4.9 adds an .Initialize n method, for STRING and MEMORY Objects, where n is number of bytes to allocate for the object's buffer size. The Penthouse (registered) version adds a THIS keyword activated by a "this = {user TYPE/OBJECT name}" statement and deactivated by a "this = nothing" statement. When a THIS is activated, then "this.SomeProperty" syntax can be used to read/write TYPE/OBJECT string or numeric members. Underlying THIS is access by pointer; therefore, code can easily be written to operate on different objects in main program or SUB/FUNCTION blocks. Previously, this could be done with BYREF() keywords; however, THIS usage may make code more readable and easier to write.

Oct 3 Dow Jones Industrial Average and HotBasic 4.8n reach new all-time highs! $RESOURCE type "AVI" for .avi files now supported. STRING/MEMORY/LIST .Clear (alias .Close) method deallocates ram if previously allocated ram was more than about 256 bytes to recover ram from larger streams used temporarily.

Aug 24 HotBasic 4.8m fixes the LIST Object .Exchange method, which was in error only in 4.8j and 4.8k, due to an edit error on my part; the "fix" was just to revert back to the correct code prior to 4.8j!

July 17 HotBasic 4.8k improves (1) loading of large and small icon handles in $APPTYPE GUI and (2) data processing with DWORD values with the most significant bit set (large positive numbers).

July 5 HotBasic 4.8j (1) now supports MENU Object .CheckedBMP and .UnCheckedBMP autodetection of string ($RESOURCE descriptor) or numeric (hBitmap) values; (2) all apps terminate with Exit Code = 0, if App.ErrorLevel not used; (3) improved code in various .lib procedures; (4) corrects a bug reported by Pierrot: no SYSTRAY .Restore method if .DblClick = true; and (5) the -i switch path will also be searched if necessary to find .lib or .obj files referenced in DECLARE ... LIB statements (Thanks to Fredrik).

July 1 Commander Keene 1.0 download updated and includes both Windows and Linux executables, showing HotBasic Linux is close to being ready for release.

May 30 HotBasic 4.8i adds PATH$ string and TIME numeric functions and frees TIMER Object .User for a user-supplied value which can be used in an .OnTimer routine. Details in on-line Manual. These additions bring HB Windows up to speed with new keywords in HB Linux (not yet released).

May 18 More HotBasic Linux demos with FILE and VERSION Objects, and Shell, Directory, Environment, Resource, SYSCALL, etc, keywords, etc, for download on Linux/Trial/Penthouse page (gethot.html). Your testing and comments welcome. We are in the "sprint to the finish line" for our first HotBasic Linux release.

Apr 15 HotBasic 4.8h fixes a problem seen when .dlg resources are used with other resources (Thanks to Alex). Previously, use of a .dlg resource would prevent most other resource types from being compiled.

Apr 3 HotBasic 4.8g adds FUNCCALL statement, which acts like CALLFUNC, except argument order -- first to last listed left to right (as in conventional procedure calls).

Apr 3 HotBasic 4.8f adds a new category of keywords -- native Custom Object members: Invoke as SUB (alias Method as SUB), GetNum as FUNCTION and GetStr as FUNCTION. If a Custom Object contains these members, HotBasic will parse the variable number of string and/or numeric arguments n and their values into a VARIANT array in variant 0 and variants 1 to n in reverse order (n <= 31) respectively. A "void" argument is coded as VARIANT type 10 with value &H80020004. On entry to the Custom Object procedure (Invoke, GetNum or GetStr), new internal variable hbArgs points to the VARIANT array.

Mar 26 HotBasic 4.8d adds REDIMEX, BYREF$(), BEGIN THREAD, EXIT THREAD and END THREAD statements, and ANSI$ and WIDE$ string functions.

Mar 26 HotBasic 4.8c adds ARRAYREF(), ARRAYREF$(), BEGIN RUNONCE, END RUNONCE and EXIT RUNONCE Statements, ARRAYREF() and OBJPTR() Numeric Functions and ARRAYREF$() String Function to the HB registered version. All new versions further stream-lined for some increase in compile speed.

Mar 22 HotBasic 4.8b adds VARIANT arrays. Please see arrayvar.bas demo in updated HotTrial download.

Mar 15 HotBasic 4.8a adds VARIANT as argument in STD/LIB functions and further stream-lines compiler code. The two together equals both increased functionality and shorter compiler hot.exe file.

Mar 5 HotBasic 4.8 adds native COMPORT object for robotics and computer automation of, or data collection from, external devices; and a new $GUIOBJ directive. On-line Manual updated with details.

Feb 26 HotBasic 4.7e upgrades the INPUT statement to process a comma-delimited list of items which will be matched to a comma-delimited list of values input by the user.

Feb 24 HotBasic 4.7d (1) improves handling of VARPTR and its alias @ with or without "()" in expressions; (2) enables linking of STD procedures with DOUBLE arguments in .obj modules; (3) revises LPRINT to auto-detect default printer device on NT, W2K and XP machines; (4) adds "private" procedures for $APPTYPE DLL and (5) removes an extra, unwanted .OnMouseDown message to the main form from secondary form clicks.

Feb 16 HotBasic 4.7c allows STD procedures in the main program to be called from linked .obj modules.

Feb 15 HotBasic 4.7a modifies the SHOWMESSAGE statement and MESSAGEBOX function to remove the title-bar icon, which previously was inconsistent and unattractive in different Windows versions.

Feb 9 HotBasic 4.7 upgrades LPRINT to work for your default printer; previously LPRINT worked only on lpt1: printers. New internal variable hbPrinter contains the printer output handle after LPRINT is used. HotIDE 2.7 recompiled with this LPRINT update.

Jan 31 HotBasic 4.6n adds .FileName input to present a default choice in OPENDIALOG and SAVEDIALOG displays.

Jan 19 New SPLITTER Object added to HotBasic. Download page has HotSplitter with source code and executable. HotBasic 4.6m is needed to compile source code.

Jan 16, 2006 HotBasic 4.6k enables the use of "dead key" sequences for special or language-specific characters in EDIT, RICHEDIT, RICHEDIT2 and similar FORM objects.

Copyright © 2003-2006 James J Keene PhD
HotBasic™ is a trademark of James J Keene
Original Publication: May 29, 2003

Please use Back on your browser to return to HotBasic.