![]() |
Issue 56 |
|||||||||
Revolution 3.0 Favorite Features This article lists some of my favorite new features and enhancements which have been incorporated into Revolution 3.0. I put together this little list because there are a few tips I have picked up while testing Revolution 3.0 (bernard) which might not be readily apparent. I am being specific by saying that these are some of my favorite features, knowing that each person has their own ideas of their own favorite features. So if there are some helpful new features which I have missed, please feel free to write an article and send it to the editor. I am sure that we can all benefit from seeing what other people think of as their own favorite features too. David Simpson
As I have used the new editor, it has become a real treat for me to experience these new features, which I wasn't even expecting or requesting. (2) Tabbed editing - I generally haven't been a big fan of the tabbed editing interface either in editors or web browsers. I guess you can call me old fashioned or something like that! But now that I have actually been using the new Revolution 3.0 editor for my production applications, I like the tabs quite a bit. There are some subtle and very helpful user interface elements working for us too in regards to the icons for the tabs. The colored dots give an idea whether a script is All Ok (and compiled), by displaying a green dot. The dot changes to yellow (3) if the handler/function has changes which haven't been compiled. And the dot changes to red(4) if the code has been compiled with an error. When you get the cursor close to one of the dots, a little "x" appears inside the dot to let you know that if you click the dot, and it will close the tab for you. (5) Did you know that you can press the TAB key to reformat your code? Actually this feature existed in the 2.9 editor and I didn't even know it. I have used Jerry Daniels' GLX2 editor and I thought that using the TAB key for this task had originated with GLX2. And to think, that for a number of years I had kept selecting the "Format This Handler" menu item under the Script menu, when I could have simply pressed the TAB key. The "Format This Handler" menu item is no longer in the Scripts menu, but pressing the TAB key instantly reformats and indents the code so you have a better idea whether you are within a conditional block of code. (6) The row of tabs at the bottom of the editor window provide info about Errors, Variables, Documentation, Breakpoints and Search Results. I have mainly used the first 3 of these tabs. I use the Variables tab extensively when debugging, and I frequently will click on a keyword in my code to bring up the dictionary entry for it so that I don't have to type it manually in the dictionary.
Script colorization now occurs within the engine, and you can change the color scheme in the Revolution Preferences. With previous versions of Revolution, you had to select Colorize from the Script menu, and if you had thousands of lines of code, it would take some time to complete. But now the colorization is lightning fast, and in fact it is so fast that it happens in real-time as you are opening the scripts. Even with thousands of lines of code which I have in some sections of my applications, the process typically only takes a fraction of a second on a dual core CPU.
(3) I have the Documentation tab selected below the editor window, so if I want to read more about the displayed command, I can either click the Full Document checkbox at the lower right corner (4) or click the Launch Documentation button.
Lets say for instance, that I want to work with the database library, but I am not quite sure exactly which command I want to use. Or maybe I just want to browse the database library commands to get a general idea of the types of commands which are available. Previously, I needed to have an idea that most database commands start with "revDatabase" and then type this command in the search box. Well, that would have found many of the database library commands, but not all of them, because I would have missed revCloseCursor for instance. But there is more.
Clicking on the Object disclosure triangle, displays additional icons for each major object type in Revolution. Clicking on any object type, displays a list of the properties and messages available for the object. If there are a lot of items in the list, you can still filter the results with the search box in the upper right corner. For instance if you only want to see messages and not properties, just start typing "message" in the search box and the results will be filtered accordingly.
Also, if you want to simulate the operation of the Revolution 2.9 Dictionary, just click the "All" item at the top of the list, and enter search text to filter the results. I haven't yet used the new Multi-Dimensional array feature, but I am looking forward to using this feature in the future. I have occasionally had a need to implement an array of arrays type of data structure within my applications, and now I will be able to do this. To read more details about this welcome addition to the Revolution toolkit, please see the article by Trevor Devore in revUp #53. As with each updated version of Revolution, there have been many bug-Fixes which I greatly appreciate. In fact the few fixes I am listing here represented issues which were so important to my product's functionality that I compiled and shipped updated versions with the Revolution release candidate builds. I have been making use of Revolution 3.0 revDatabase Library improvements which have been made for ODBC database connections. With Revolution 2.9, there was an issue writing data into ODBC databases, but reading data from ODBC database connections worked fine. This improvement in Revolution 3.0 means that I am able to start removing some of my work-around code from the FmPro Migrator application, which will eventually result in a savings of several Mb of program size. For my customers, it will mean a better user interface experience since I will be able to keep all of my database processing within Revolution without having to pop open an external window running a separate compiled data transfer application. The interface will be more user friendly and will give my users the opportunity to cancel the processing dialog, which is something I can't do when handing off control to an external application. There was also a fix to an issue with MySQL database connections defaulting to Port 3306. The launch URL command was having issues escaping some characters found in URLs like the "#" character which defines an anchor point on a web page. I use this feature to direct customers to the anchor point for a particular product on my ordering page. Ever since I added this feature to the trial versions of my software I noticed a significant drop in customers calling me to ask how to buy my software. The trial software opens a browser window and takes them directly to the exact place on the order page for them to place an order for the product, so that they can easily make a purchase. For more details concerning the changes within this or any release of Revolution, check the Engine Change Log.txt and IDE Change Log.txt files within your Revolution installation directory. In conclusion, I just want to say thanks to Kevin Miller, Mark Waddingham and the entire Revolution development team for all of their hard work delivering Revolution 3.0. In appreciation for their hard work, I am now using Revolution 3.0 full-time for all of my development projects. Yes, it really is that stable, and worthy to be used for production builds. So a gentle reminder, to anyone who has allowed their updates subscription lapse, download Revolution 3.0 and see what you think. Revolution 3.0 is great reason to buy a new license or renew an updates subscription. I like to keep my subscription current because I realize how important this revenue is for continuing the development of each new version of Revolution. |
|
|||||||||