REAL Software released REAL basic 2010 this week. Actually, they have renamed REALbasic to REAL Studio in the hopes that the 'basic' stigma surrounding a modern, fully-object oriented language goes away.
Release 1 is another small release (in terms of new features) while REAL Software scrambles to put the finishing touches on the Cocoa version of Studio. Keep that in mind as you start using Studio. On to the changes!
The canvas control has been updated to include a number of new events. The canvas control now has a double-click event and receives activate and deactivate events. This will keep many developers from adding a double click event to their canvas subclasses!
The IDE has been updated slightly. The search results can now be printed. What more can be said about it?
DragItems have been updated to include the originating window/container control. This is sometimes very useful if you need to know what part of your application the dragitem is coming from. The new window property prevents you from having to track this yourself.
Documentation has been updated in a number of areas. The Shell class, menu item arrays and, REAL SQL Server database are now better documented.
Speaking of documentation. Perhaps the biggest new change, not necessarily just for REAL Studio, is that the documentation is now online! This has been a much requested feature. The online documentation can be accessed via a MediaWiki site at http://docs.realsoftware.com/index.php/Main_Page. No word has been passed down on who can add information to the wiki. Update: The documentation WAS online and due to technical difficulties on the server it has been temporarily pulled.
Some love has been given to the Windows version. ActiveX support has been improved and when an ActiveX library is added support classes are added in addition to the main automation class. OLEObject's now have a Handle that is a pointer that references the IDispatch interface.
If you are building a Windows screen saver using the .scr extension or a COM object using .com, the IDE will no longer add an .exe to the file name as long as those extensions (.scr or .com) are present in the application name.
2010 Release 1 fixes nearly 50 bugs and I encourage you to read the release notes. A few of the highlights:
- Report variables now show up in the debugger
- Reports.Document.Save now takes an option parameter on how you want 'Page' to be spelled (this is for localization purposes). The folderitem must now be a directory.
- CopyFiles Build Step (for Studio users only) now uses relative paths rather than absolute paths and should now work across users and platforms.
- The Listbox editable cells can now use TextArea in addition to TextField's. This will allow you to have multiline edit cells but you still have to handle returns in the CellKeyDown events and draw multiple line strings in the CellTextPaint event.
- Several memory leaks were fixed in the SQLSelect function and in the reporting system.
A couple of new bugs have appeared after the release that might affect your applications:
- In Windows, the Listbox.CellTextChange event does not fire correctly. It's already marked as fixed in the Feedback system.
- If you use subclassed windows in a NameSpace, they compiler does not recognize them as a window.
- If you use the container control close method you might experience a hard crash. This is also marked as fixed in the Feedback system.
If you are thinking about migrating to 2010 R1, I highly recommend that you check the Feedback application and look at the 'Newest' cases. It's a smart move to see if others have experienced any problems before you jump both feet first - especially if you're in a production environment and an older version is working fine for you.
Otherwise, 2010 R1 is a nice interim release while we wait for Cocoa support. Happy coding!


