UD 4.6 and UDH 4.6 Due to Be Released
The UNIVERSAL DRIVER 4.6 andUNIVERSAL DRIVER HEAVY 4.6are due to be released in May 2009. The Universal Driver 4.6 replaces the Universal Driver 4.5. Upgrades from UD 4.5 to UD 4.6 are FREE (shipping charges apply). The Universal Driver Heavy 4.6 replaces the Universal Driver Heavy 4.5. Upgrades from UDH 4.5 to UDH 4.6 are FREE (shipping charges apply). Please contact our Customer Care Department at 800-262-4747 to request your upgrade.

During the Universal Driver testing process, we discovered that the current versions of the Linear Hash (LH) filing system have some inconsistencies. Specifically, records stored in the LH can (in theory) have unlimited-length keys, but many of the tools and internal processes of OpenInsight expect that record keys do have a limit.

In both the UD 4.6 and UDH 4.6 record keys can now be a maximum of 512 characters long. Any keys that exceed this limit will now be "illegal" and applications will be unable to either read or write them. The server event log will report Linear Hash error 1016 for this condition.

Since this will make the records unreadable, they will be treated as though there is a "group format error" (GFE) in any table that contains them, and so the Database Manager tool in OpenInsight release 9.0.1 to Verify LH has also been updated to report these "errors", and the "fix" option has been updated to copy them to a new table called DUMP_FIX_SAVE.

Another, more critical fix, is that currently, the "Fix GFEs" option on the Verify LH menu silently considers any records with keys greater than 50 characters long to be GFEs. Anyone running the "Fix GFEs" option, either from Verify LH menu or the Fix Group Format Errors menu, will lose any records that have keys longer than 50 characters. As a result of this issue, we are including with both the UD 4.6 and UDH 4.6 a RDK containing a FIX_LH routine. This updated routine removes the "50-character-throwaway" functionality and replaces it with the "512-character-save" functionality.

Mark your calendars! TheREVELATION USERS' CONFERENCE will be returning to the Rio All-Suite Hotel and Casino in Las Vegas, Nevada. The conference dates are Tuesday, April 27th through Friday, April 30th, 2010.

Are you thinking about becoming a new Works member? Now is the time to sign up! For the entire month of May 2009 all new Works and TeamWork's subscriptions will be discounted 50%. Included with each Works subscription is a (2) user version of OpenInsight Development Suite 9.0. For more information on our Works program clickHERE.

Did You Know…
How to close a Window whose WRITE event sends a CLOSE event to the form?

In this situation the Window will close properly if the user closes through the Write event. However, if the user closes using the "X" at the top right of the window, OpenInsight will prompt "Save Changes?". If the user selects 'Yes', the Close calls Write, which then calls Close again. OpenInsight will debug when Close tries to run twice.

The Solution? Just ask the window if it is closing! Use retstack to see which programs are running, if WINDOW.CLOSE is in the stack, you are already closing. The code is as follows:


declare function retstack
* Pre-write ... Do some stuff ...
Call Forward_Event()
* Post-Write ... Do some stuff ...
stack = retStack()
is_closing = IndexC(stack,cmd,1)
if is_closing else
Call Send_Event(@window, 'CLOSE')