Introducing the “Welcome to Xojo” Bundle!

New to Xojo and looking for guidance? We've put together a terrific bundle to welcome you! Xojo Bundle

This bundle includes six back issues of the magazine -- all of year 19 in printed book and digital formats -- plus a one-year subscription (beginning with 20.1) so you'll be learning all about Xojo for the next year. It's the perfect way to get started programming with Xojo. And you save as much as $35 over the non-bundle price!

This offer is only available for a limited time as supplies are limited, so hurry today and order this special bundle before the offer goes away!

Article Preview

Buy Now

Issue 5.4


REALbasic 2007 Release 2

Issue: 5.4 (May/June 2007)
Author: Toby Rush
Article Description: No description available.
Article Length (in bytes): 4,496
Starting Page Number: 8
Article Number: 5403
Related Web Link(s):


Full text of article...

In keeping with its quarterly release plan, REAL Software released the second revision of REALbasic 2007 on April 2, 2007. As with every release, REALbasic addressed dozens of bugs with this new version, but also added some interesting and exciting new capabilities to the program and the language itself:

Code Folding: REALbasic 2007r2 makes dealing with lengthy methods a little easier by making it possible to temporarily hide sections of code. Any statement that would cause an indentation of code in the code editor (if-then statements; for-next, do-loop, and while-wend statements, and so on) is preceeded by a small minus symbol, reminiscient of Windows' Program Manager list views. Clicking on this widget collapses the statements within the structure into invisibility, and clicking again on the widget (which then turns to a plus symbol) displays the code again.

Compiler Optimization: The new version caches compiled code, so that once a certain section of code is compiled it does not need to be recompiled every time the program is run (unless, of course, the section of code is changed). This increases compilation speed for large programs significantly; users have been reporting improvements of 50 to 60 percent.

Debugger Improvements: Release 2 includes a tremendous number of improvements to REALbasic's built-in debugger; including the capability to modify values within the variables viewer during a debugging session, better and more flexible display of doubles and singles; the ability to view RecordSets, CFStringRefs, and PStrings, as well as the contents of Menus, PopupMenus, ComboBoxes, and ListBoxes, and even Lookahead values for Sockets and Serial controls; the ability to view string variables using a hexadecimal viewer or any different encoding, and the capability -- when running a program that has multiple concurrent threads -- to switch which thread you are tracking on the fly.

Object Improvements: The new version adds a Clip method to the Graphics class, allowing you to limit drawing to the graphics class to the values given. The PrinterSetup object now has a Landscape property, allowing you to control the landscape state of the object, and the StyledText object has been improved with the addition of a RTFData property, which will automatically generate or parse RTF data in your program.

Language Improvements: REALbasic 2007r2 introduces the WeakRef class, which allows you to keep a reference to an object without influencing that objects existence. Normally, the act of keeping a reference to an object will prevent it from being destroyed; using WeakRef, however, allows you to have a variable which points to the object as long as it exists (in other words, as long as some other variable is pointing to it). Once the object is destroyed, the WeakRef returns a value of nil. The new version also provides a new way of checking the upper bound of an array; in addition to calling uBound(myArray), developers can use uBound to retrieve the value. The new form has the added benefit of allowing the form myArray.uBound(dimension), which retrieves the upper bound of a particular dimension in multi-dimension arrays.

Nested Modules: This revision also adds the ability for modules to contain classes, interfaces, and even other modules.

End of article.