[FR] [IT]
  [INFO] [ACQUIRE] [MAP] [RESOURCES]

Compiler


NEW FEATURES of FutureBASIC 4 Release 2


Auto-Complete Toolboxes

A preference now allows auto-completion of toolbox parameters. When you type a toolbox name, the Editor places the entire set of parameters inline after the toolbox name and selects them. You may obliterate the parameters with your next key press or select and replace them one at a time if they are helpful.




Press release:
Paris, 17/02/2005

[return to top]

New Print Globals

You may now make use of gFBFirstPrintedPage and gFBLastPrintedPage to determine what pages need to be printed. The default values are 1 and 9999 respectively. Set them up before calling Def LPrint to establish values in the print job dialog.


[return to top]

New Structure Warning

If you attempt to save a file and one of its functions ends in an internally incomplete structure (a Do without Until, a While without the matching Wend) then a warning is given.



[return to top]

Restore Environs

A new preference (Restore Environs at startup) automates the File menu option "Restore Environment". This option will reopen all windows that were visible when you last ran FutureBASIC. Included in the window list are all editor and project windows, the Preference window, and the Find/Change window. If you wish to disable this, hold down the Option key at startup.


[return to top]

File Name Changes

System 10.3 forced many changes in the way that file names were handled. For instance, we could no longer store FB in a folder with a Kanji name because the help files could not be accessed. We could not use project names that contained the pi (π) symbol. Items that contained anything other than standard Roman characters could not be properly displayed in the project window, the Project menu, the Recent Items menu, or the edit window title bar. This required a deep, sweeping change that took two months to program and debug; thus the delay in shipping release 2!.


[return to top]

Command Arrows

Command left and right arrows were added to move to the left or right end of the line. Command up and down arrows now put the cursor at the beginning or end of a file. Shift-down-arrow now selects an entire line


[return to top]

Kanji

The editor supports placement of Kanji text in the window. You may click, double-click, or click and drag through two byte glyphs.


[return to top]

Script Menu

Scripts have been extended. You may drop in an entire folder of scripts and they will appear as a hierarchical menu of scripts under the Tools/Scripts menu. Safeguards were also added to the Scripts items so that you could not execute a script when no editor window was open.


[return to top]

Scroll Throttle

We built the editor to be as fast as it could be never thinking for a moment that it could be too fast. But vertical scrolling on modern Macs is much too fast and had to be throttled. As you ease past the upper or lower edge of the editable area, the text begins to slowly scroll. The farther you move from that edge, the faster it will scroll. If you move a great distance and you are working on a fast machine, the scrolling will become a blur.


[return to top]

Exceptions STR# Resource

One of the powerful items in FB has been its ability to flag missing toolboxes on any machine where your application is running. All you do is check:

in the Debugger pane of the Preference window and the runtime handles the rest. It works by scanning all toolbox addresses in memory to see if any of them are zero. At this point, your program knows if any toolbox used in the code is not available on the machine in use. It's a good theory. Now let's move into the realm of the practical. You might use a toolbox call in your program that does not work on all machines. Knowing that it is not always available, you place conditionals that block it from being used on, say, OS 9 systems. Your program would still run correctly on an OS 9 computer, and you would have correctly prevented the toolbox from executing, but a dialog would open (incorrectly) telling the user that aparticular toolbox was not present and was going to cause a crash. The remedy is to create a STR# resource with the name: Exceptions and place it in your program. Put any toolbox in this list that you do not want flagged as bad. If you look in the FutureBASIC Editor, you will find such a resource with an item named LSOpenCFURLRef. Don't forget that toolbox names are case sensitive.


[return to top]

Command-Click-Title

Previously, you could only command-click the icon in the title bar of a window to see and use a menu that displayed a path to that editor's file. Now you may click the icon or the file's name.


[return to top]

Classic Editor

A non-timed out version of the older, Classic Editor has been placed on th CD. It's in the Other Resources folder.


[return to top]

Compiler Rename

The compiler is now named "FB Compiler". If you want to use the older, Classic Editor, you will have to rename the compiler to be "FB3 Compiler".


[return to top]

D&D Cursor

Apple does some things very well, but the drag and drop cursors on our old Editor are about a thousand times better than those suggested in Apple's Human Interface Guidelines. We have gone back to our old drag and drop cursors. You'll recognize them on your first drag.


[return to top]

Drag & Drop Hilite

When you drop text (that was dragged) it now remains hilited.


[return to top]

Find Window

There are new buttons in the Find window: Find First will always find the first occurrence of an item in the list as laid out by the Editor. Find Next will find the next item, regardless of how things have changed. If your actions modify things so that the search list has to be rebuilt, then Find Next will find the first occurrence.


[return to top]

Header

An incorrect header was included for help tags and as a result Def ButtonHelpSetText did not properly operate. (The proper file was available on the original CD. It just was not located in the proper folder.)


[return to top]

Find

Text from the editor window could sometimes draw in the Find window. Sometimes the Find/Change window would fail to find text or, on the second trip through a file, find characters that held the same position as text that was previously found and changed.


[return to top]

Block Remarks

/* */ would mess up internal flags for block remarks and cause all sorts of things to go awry, like indenting and hiliting.


[return to top]

Bookmarks

An error could be generated because bookmarks created from selected text might be greater than 255 characters.


[return to top]

Cursor

The cursor no longer blinks when the application is inactive.


[return to top]

"Dirty" Indicators

The window's close box now properly shows a dirty black dot and the file icon changes to indicate when the editor is dirty. After the file is saved, you will see the close button and file icon revert to their clean state.


[return to top]

File Info Header

Many file info header items did not show up properly. The debugger item and the line start table item were two.


[return to top]

Help: Double Warning

If you selected Lookup Selection in Reference and you had not selected any text, you received two notices (instead of one) that you needed to make a selection. If you selected Lookup Selection in Reference and you had not selected any... Never mind.


[return to top]

Hiliting, Indenting

Many items, when placed in specific circumstances, would not hilite or indent properly. This closely follows Murphy's Law of Animal Testing which stated: Pigeons, when placed under perfectly controlled conditions, will do whatever they please.


[return to top]

Horizontal Scrolling

The Editor had trouble with horizontal scrolling, especially as it pertained to scrolling back to the left when required.


[return to top]

Page Up/Down

It was possible to click in the page up/down area of the vertical scroll bar and confuse the Editor. While no data was lost and any other click would put the editor back on track, this was ugly enough to warp your far fignuten.


[return to top]

Rename Group

There was a really annoying time delay associated with clicking the OK button after renaming a group in the project window.


[return to top]

"?"

There were some eccentricities in the way that the question mark became "Print".


[return to top]

Added CRs

The Editor was supposed to ensure that there was a carriage return at the end of a file. It got carried away and left about ten or so carriage returns there.


[return to top]

Memory Leaks

We have totally squashed any and all memory leaks. Now we're tight. Really tight.


[return to top]

XML Error Dialog

When the XML tags did not match in a script a dialog would warn you of this fact. But it would never close. Must have been a very important warning.


[return to top]

Help Menu Reordered

The order of the Help menu was illogical. It now progresses from minor (search for a local word) to major (search Apple's website).


[return to top]

Japanese plist

Japanese users will find that the plist (an OS X necessity) is now automatically set for the Japanese language in all applications as a default for them.


[return to top]

Options Window Change

The Options window now remains visible when the Find/Change window or the Preference window is present. It goes away when an editor or project window has been opened.


[return to top]

Printouts

The file name was added to the top of printouts and the first printed line was moved down just a bit to accommodate some rogue ink jet printers.


[return to top]

Profiler Enhancement

There used to be cases where the profiler did not work. It complained of too many functions or of a hangover. As of this release, the Profiler seems to be bulletproof.


[return to top]

Safeguards

Many safeguards were installed in the Editor to prevent internal array bounds errors. The beta testers ran versions of the Editor with array bounds error checking turned on, so their editors would quit whenever an error occurred. Jeeze, was I unpopular while that was being worked out!


[return to top]

Help Tags

The help tags in the Editor toolbar are slower to show up now. They should be less likely to get in your way.


[return to top]

OpenGLPlotFunc

Manipulate a graph in real time with the mouse. Modify the parameters and view the results.


[return to top]

Matt's Stuff

View dozens of examples on Appearance buttons covering everything from chasing arrows to disclosure triangles. Each example is simple and covers only a single topic so that you can understand what it is trying to convey. There are also many other items used in the FB Editor like EZAlert.


[return to top]

OpenGL Test Bed

Robert P has once again built a collection of fascinating routines that will amaze you as you learn about a new facet of programming. This project includes 22 different examples that do everything from determine what OpenGL items are available, to drawing and rotating wire frames to spinning a globe. If you're a gamer, this code is a must!

  © 2000 Pix&Mix  
  All Rights Reserved
INFO  |  ACQUIRE  |  MAP  |  RESOURCES

  FutureBASIC is a registered trademark of Staz Software, Inc and is used with permission.