Caratteristiche
New FB 5 package
- Freeware package
- Revised Editor (Universal binaries)
- Integrated C translator
- GCC or clang compiler
- Improved Project Manager
- Enhanced new header files
- Streamlined runtime
- New documentation (in progress)
- Hundreds of examples
- Carbon compilation
Old FB 4 package
- Freeware package
- Editor con supporto di plug-in
- Compilatore super veloce
- Project Manager
- Debugger
- Profiler
- Program Generator (strumento CASE per PPC & 68K)
- .nib's I.B. files support via programming
- Ricca documentazione
- Numerosi esempi
- Runtime Open Source:
- Console
- BASIC Standard
- Appearance
- Toolbox
- BASIC-88
- Compilazione Carbon
- Assembler in linea PPC & 68K
- Accesso al Toolbox e alle librerie condivise
- Applicazione min: 28 Kbyte
- Applicazione max: 2 Gbyte
- System min: Mac OS 7.6 per FB^3
- System min: OS X 10.2 per FB4
European Edition:
- No more specific European edition
- Localisation is open to anyone
Sito Web gestito da
e
Friendly links:
|
January 2012
FB 5.7.1
FB 5.7 requires OS X 10.5 or higher.
:: Editor changes::
| # |
Type |
Description |
| 184 |
Cosmetic |
Source code drawn in project window |
| 185 |
Error |
void functions don't show in function pop-ups |
| 186 |
Cleanup |
Bad horiz scrolling of background window by mouse wheel |
:: FBtoC changes ::
| # |
Type |
Description |
| 343 |
Error |
gcc error from pointer.offsetConst$ arg to toolbox Str255 param |
| 505 |
Error |
internal error from dim a as ^Point, b& |
| 558 |
Error |
Compiler error from block comment in BeginC...EndC |
| 566 |
Error |
Comment ending in opt-L eats next line of code |
| 617 |
Error |
inc( p ) and p++ are different if p is ^Type |
| 619 |
Error |
Make Xcode Project strips main() from command-line tool |
| 666 |
Error |
'dim as ..FooType bar' is pointer but should be Handle |
| 667 |
Error |
Can't cast address arguments freely and correctly |
| 669 |
Error |
Repeated 'clear local' gives internal fatal error |
| 672 |
Error |
Build error 'no include path in which to search for Carbon/Carbon.h' |
| 673 |
Error |
Default compiler in OS X 10.7 should be clang |
| 674 |
Error |
'void clear local fn Foo as long' should be error |
| 675 |
Feature |
Allow spaces in path to Developer folder |
| 676 |
Error |
Can't cast to (float) |
| 677 |
Error |
Record assignment wrongly disallowed |
| 678 |
Error |
Return value from function of type float treated as integer |
| 679 |
Error |
'not( a binop b )' wrongly translated |
| 680 |
Feature |
Maximum number of dynamic arrays doubled to 64 |
| 681 |
Error |
Allow record field as file specifier in 'open' statement |
| 682 |
Feature |
Add 'Crash' button to all error alerts |
| 683 |
Error |
Buffer overflow when linking huge project |
| 684 |
Error |
Generate Localizable Strings fails when compiled as Objective-C |
| 686 |
Error |
Unsigned function type wrongly disallowed |
| 687 |
Error |
Crash from invalid syntax for 'button', 'appearance button' and 'appearance window' |
| 688 |
Error |
FD_SpecialDirectoryXxxx() should create directory if absent |
Note:
Projects and standalone builds that used clang with the precompiled header option will encounter an error when first built with FB 5.7.1
Error: clang:
redefinition of 'gFBDynArrayInfo' with a different type [line 115:14 of...]
The simplest workaround is to trash the build_temp folder. An alternative is to switch temporarily to another compiler.
:: New examples ::
FB_5_7_Examples/Graphics/CoreGraphics (Quartz )/SelfCenteringHIImageView
Downloading here: 4toc.com/fb4/
November 2011
FB 5.7
FB 5.7 requires OS X 10.5 or higher.
:: Editor changes::
| # |
Type |
Description |
| 140 |
Error |
Tab key moves focus to toolbar and prevents subsequent editor window typing |
| 142 |
Error |
'REM' slider in document window's toolbar misbehaves |
| 162 |
Error |
Wrong indentation from opt-space between end and fn|select|record... |
| 174 |
Error |
Edit menu first item is always Can't Undo |
| 088 |
Feature |
Allow mouse wheel/trackpad scrolling of background window |
| 177 |
Feature |
Headers ('H') button in doc window's toolbar |
| 179 |
Feature |
Adding file to project should make copy if not in project folder |
| 180 |
Feature |
Project menu item: New Project File... |
| 181 |
Feature |
Help menu item: Search Apple Headers.app |
:: FBtoC changes ::
| # |
Type |
Description |
| 656 |
Error |
Hang from missing right parenthesis in 's$ = edit$( 1' |
| 650 |
Cleanup |
Deprecate type-identifier suffices (except '$') on function names |
| 651 |
Cleanup |
Deprecate same name for scalar and array variable: 'dim as long a, a(100)' |
| 652 |
Cleanup |
Deprecate vars with same base-name but different type-identifier suffices: 'dim a%, a#, a$...' |
| 653 |
Cleanup |
Deprecate FB 16-bit 'int' type |
| 657 |
Cleanup |
Passing pointer instead of record argument should be warning |
| 654 |
Feature |
New keyword 'float' as synonym for 'single' |
| 658 |
Cleanup |
Allow pass-by-value records in user-defined functions |
| 665* |
Feature |
Allow C's dereferencing syntax for typed pointers |
| 647** |
Feature |
New 'if.../else.../endif' syntax |
| 671 |
Nicety |
Add Bundle identifier to default Info.plist |
:: New Headers file ::
Tlbx CFURLEnumerator.incl
:: Updated Headers files ::
Tlbx CFURL.incl
Tlbx Controls.incl
Tlbx MacWindows.incl
Util_Containers.incl
:: New functions in Console runtime ::
fn ConsolePrintCFType( typeRef as CFTypeRef )
fn ConsolePrintCFString( string as CFStringRef )
:: New examples ::
FB_5_7_Examples/Files/CFURLEnumerator
FB_5_7_Examples/Files/NSOpenPanel & NSSavePanel
FB_5_7_Examples/Files/Search Apple Headers
FB_5_7_Examples/Graphics/CoreGraphics (Quartz)/ImageEdit skeleton
* The new '*' dereference syntax in FB 5.7:
local fn Foo( flagP as ^Boolean, ioCount as ^long, ioAmount as ^double )
*flagP = _zTrue
*ioCount = 41
*ioCount = *ioCount + 1
*ioAmount = *ioAmount * *ioAmount
end fn
The new '*' dereference also works with pointers to records:
dim as ^Rect srcRectP, destRectP
srcRectP = ...
destRectP = ...
*destRectP = *srcRectP
** The new syntax:
if ( 1 == 1 )
beep
else
stop
end if
is equivalent to the traditional (and still supported) syntax:
long if ( 1 == 1 )
beep
xelse
stop
end if
Downloading here: 4toc.com/fb4/
September 2011
FB 5.6.2.
This release is earlier than expected, owing to the recent discovery of long-standing bugs in dynamic array support.
:: Major bug-fixes ::
| # |
Type |
Description |
| 641 |
Error |
Crash from DynamicNextElement() |
| 642 |
Error |
DynamicRemoveItems() attempts to remove non-existent items |
:: Feature introducing type safety to FB ::
| # |
Type |
Description |
| 621 |
Feature |
Allow compiler to warn of some type-mismatched pointer assignments |
:: Cleaning up FB ::
| # |
Type |
Description |
| 636 |
Cleanup |
Deprecate shorthands & % | for poke |
| 637 |
Cleanup |
Deprecate enterproc ... exitproc |
| 638 |
Cleanup |
Disallow 'def' and 'usr' function declarations and calls |
:: Improvements in translated C code ::
| # |
Type |
Description |
| 622 |
Cosmetic |
Better translation of if ( pointerVar ) ... |
| 627 |
Cosmetic |
Pointers to scalar types should not be void* |
| 628 |
Cosmetic |
Fewer parentheses in expressions with bitwise operators |
| 634 |
Cosmetic |
Translate ++ as such, not += 1 |
| 640 |
Cosmetic |
Translate rec = ptrVar as rec = *ptrVar; |
:: Feature allowing improvement in translated C code ::
| # |
Type |
Description |
| 635 |
Cosmetic |
Void keyword for functions (void local fn Foo...) |
:: Minor bug-fixes and other changes ::
| # |
Type |
Description |
| 620 |
Error |
Function type mistranslated when ^Type or ^^Type |
| 625 |
Feature |
Allow include "BarFolder:foo.c" |
| 626 |
Error |
Arguments to variadic functions should not be cast |
| 639 |
Feature |
Use of fn ToolboxProcedure as rval should be error |
| 645 |
Cleanup |
Warn against fn CFSTR( stringVar ) |
:: New examples ::
FB_5_6_2_Examples/Controls//Custom text browser
Downloading here: 4toc.com/fb4/
August 2011
FB 5.6.1.
:: FBtoC general changes ::
New menu item Tools > Open Headers Folder
:: FBtoC bug-fixes and features ::
| # |
Type |
Description |
| 599 |
Feature |
Optional translation of _constants to symbols, not magic numbers |
| 600 |
Feature |
New directive: compile [as] "Objective-C" |
| 601 |
Feature |
New 'select switch' statement |
| 603 |
Feature |
NULL keyword |
| 615* |
Nicety |
Warn of long var dereferenced as though pointer |
| 616† |
Nicety |
Warn of implied addition of _constants |
* Until now, longs and pointers were treated almost interchangeably.
local fn bar( @foo& )
foo.nil& = 0
end fn
This abuse is now deprecated.
¿¿ Warning: long var 'foo' used as pointer in line 4 of ...
† he weird syntax '_foobar = _foo_bar' is now deprecated.
¿¿ Warning: implied addition of constants; suggested form: '_foo + _bar' in ...
:: FBtoC fixes and changes relating to Make Xcode Project ::
| # |
Type |
Description |
| 604 |
Error |
Resource files copied as empty data-fork by Make Xcode Project |
| 607 |
Feature |
Warn of 'include library' framework not passed to Xcode project |
| 609 |
Error |
Xib files wrongly converted to nib by Make Xcode Project |
| 611 |
Feature |
Warn of library linker commands not passed to Xcode project |
| 613 |
Error |
Nibs give ibtool error in Xcode 4 after Make Xcode Project |
:: Updated header ::
Tlbx CarbonEvents.incl [fixes RegisterEventHotKey()]
Tlbx CFCharacterSet.incl [fixes CFCharacterSetXxxx constants]
Others too numerous to list.
:: New examples ::
FB_5_6_1_Examples/Menus/CFStatusItem FB_5_6_1_Examples/Miscellaneous/CalCalendar
:: Updated examples ::
Too numerous to list.
:: Deleted example ::
FB_5_6_x_Examples/Text/SpellCheck [crashes mysteriously]
Downloading here: 4toc.com/fb4/
April 2011
FB 5.5.1
:: Editor bug-fix ::
| # |
Type |
Description |
| 167 |
Error |
Strange beep on double-clicking symbol preceded by option-space |
:: FBtoC bug-fixes and features ::
| # |
Type |
Description |
| 584 |
Error |
Freeze with 'Wrong number of arguments' error |
| 585 |
Nicety |
More compact representation of 'data' strings |
| 586 |
Error |
Crash on multi-line strings > 255 chars |
| 587 |
Feature |
Advanced settings in drawer |
| 588 |
Feature |
'system long' should allow comma-separated variable list |
:: Updated header ::
Tlbx CoreGraphics.incl now includes CGImageSource functions
:: New examples ::
FB_5_5_1_Examples/Cocoa/NoNib_FBtoCocoa
FB_5_5_1_Examples/Cocoa/NSTableView_FBtoCocoa
FB_5_5_1_Examples/Controls/bmpImage_btn/
FB_5_5_1_Examples/Controls/HICustomView
FB_5_5_1_Examples/Controls/ThumbnailButton/
FB_5_5_1_Examples/Games/Connect4
FB_5_5_1_Examples/Graphics/CoreGraphics (Quartz)/CGPathContainsPoint
FB_5_5_1_Examples/Graphics/CoreGraphics (Quartz)/Floodfill
FB_5_5_1_Examples/Graphics/CoreGraphics (Quartz)/ImageResizer
FB_5_5_1_Examples/Text/CoreText styled text
FB_5_5_1_Examples/Text/CoreText with CGColor
:: Updated example ::
FB_5_5_1_Examples/Games/Spandrel_1_4/
Downloading here: 4toc.com/fb4/
January 2011
FB 5.5
:: Major changes ::
- FutureBasic 5.app is now a self-contained IDE; its supporting file objects (FBtoC.app and the folders build_goodies and editor_support) are inside the app bundle.
- An Xcode project is created in the project source folder instead of build_temp as previously. This change makes it less liable to inadvertent deletion. The Xcode project is contained in a folder named <project_name>_XcodeProject.
- The User Libraries folder has moved to ~/Library/Application Support/FutureBasic/, alongside Scripts and Style Files.
:: FBtoC bug-fixes and features ::
| # |
Type |
Description |
| 573 |
Error |
Hangs when parsing conditional with @nonexistent_var |
| 574 |
Feature |
Make Xcode project in source folder, not build_temp |
| 575 |
Error |
FlushWindowBuffer doesn't |
| 576 |
Error |
apndstr() wrongly byte-swaps the count field |
| 578 |
Error |
val() and val&() return wrong value for 16-digit hex strings |
| 579 |
Error |
'read' gets wrong value for 16-digit hex numbers in 'data' statement |
| 581 |
Error |
Link error from Xcode project containing Objective-C code |
| 582 |
Error |
NavDialog() releases saveFileName and message wrongly |
:: New examples ::
FB_5_5_Examples/Cocoa/DotView_FBtoCocoa
FB_5_5_Examples/Cocoa/GaussianBlur_demo
FB_5_5_Examples/Cocoa/SndPlayer_FBCocoa
FB_5_5_Examples/Controls/HISegmentedView
FB_5_5_Examples/Graphics/CoreGraphics (Quartz)/HIImageView_swipe
FB_5_5_Examples/Text/Programmatic HITextView
:: Updated example ::
FB_5_4_9_Examples/Games/Spandrel_1_3
Downloading here: 4toc.com/fb4/
November 2010
FB 5.4.8
:: Editor bug-fix ::
A long-standing 'dangling handle' bug has been found, that could cause a variety of crashes.
:: FBtoC bug-fixes ::
| # |
Type |
Description |
| 570 |
Error |
Resources not passed to Xcode project |
| 571 |
Error |
Make Xcode Project gives error 'FBtoC_Placeholder_RETURN' undeclared |
| 572 |
Cleanup |
Code inflation by numerous gosub/returns* |
:: New examples ::
FB_5_4_7_Examples/Sound/Record_sound_with_QuickTime
[*] : The new implementation of gosub/return does not support optimized compilation. If your code uses gosub/return and needs optimization, you will have to replace every subroutine by an ordinary local fn.
Downloading here: 4toc.com/fb4/
October 2010
FB 5.4.7 and FB2C 1.4.7
:: FBtoC bug fixes and new features ::
| # |
Type |
Description |
| 536 |
Cleanup |
Redundant files copied to XcodeProject |
| 556 |
Cleanup |
Editor Errors window garbles multiple errors/comments on same line |
| 557 |
Error |
gosub/return broken |
| 559 |
Error |
route _toBuffer does not work with ConsoleWindow |
| 560 |
Feature |
Support llvm-gcc 4.2 compiler |
| 561 |
Error |
_controlkey constant missing |
| 563 |
Feature |
Preference setting to control source-file combining [*] |
:: New Headers file ::
Util_NibCFStrings.incl
:: New examples ::
FB_5_4_7_Examples/Sound/Record_sound_with_QuickTime
:: Updated examples ::
FB_5_4_7_Examples/Games/Spandrel_1_2 (chess)
FB_5_4_7_Examples/Sound/Play Sound file
[*] : A pop-up button ('Source-file combining') in the settings window controls the number of .c (and .h) files produced by translation.
Off: each FB file leads to a .c file.
Medium: the same as previous versions of FBtoC.
Maximum: all FB files are combined in one .c file.
Downloading here: 4toc.com/fb4/
July 2010
FB 5.4.6
:: Editor changes ::
Two new features mean that you will no longer lose your scripts and style files on updating to new versions of FutureBasic 5.
- Scripts now reside in ~/Library/Application Support/FutureBasic/Scripts. When the editor starts it looks for this folder. If the folder does not exist, it is created and the sample scripts are copied from the current editor_support folder.
- Style files now reside in ~/Library/Application Support/FutureBasic/Styles. When the editor starts it looks for this folder. If the folder does not exist, it is created and the style files are copied from the current editor_support folder.
:: FutureBasic 5 Help ::
This now includes most of the material formerly contained in the FBtoC Help Book. The latter is largely obsolete.
:: FBtoC bug fixes and new features ::
| # |
Type |
Description |
| 400 |
Error |
preprocessor bug for comments with quote char |
| 463 |
Feature |
pass comments on to C source |
| 519 |
Error |
Misleading error for missing project |
| 522 |
Feature |
Strip unused FB runtime and C runtime functions during Make Xcode Project |
| 527 |
Nicety |
Cleaner translation of simple if conditions |
| 535 |
Nicety |
Make Xcode Project should set optimization -O0 |
| 538 |
Feature |
Send runtime errors to console.log instead of showing fatal alert |
| 539 |
Cleanup |
Compiler warning from A$ = "(??)" |
| 540 |
Cleanup |
Warnings from Subs Quick Event Loop.Incl |
| 541 |
Error |
write# stringVar gives strange results |
| 542 |
Error |
line input # should terminate on <lf> as well as <cr> |
| 543 |
Feature |
Allow casting e.g. x = (double)y |
| 544 |
Error |
instr() treats chr$(0) and chr$(1) alike |
| 545 |
Feature |
Allow 64-bit integer literals such as 1ULL, -1LL |
| 548 |
Error |
'Warn of unused functions' sometimes didn't |
| 549 |
Error |
FSCatalogInfo.permission wrongly defined in Headers |
| 550 |
Error |
LP64 types should have size 8 in static expressions |
| 553 |
Error |
inkey$ for command line tool not implemented |
| 554 |
Error |
Use precompiled header breaks with clang 1.5 |
| 555 |
Feature |
Allow static string expression (_foo$ + "bar") as 'output' filename |
:: New Headers file ::
Tlbx CFNumberFormatter.incl
:: New examples ::
FB_5_4_6_Examples/Controls/CustomShapedControl
FB_5_4_6_Examples/Controls/CustomDrawnControl (Quartz)
FB_5_4_6_Examples/CoreFoundation/PrintCFString
FB_5_4_6_Examples/Files/FileObjectPermissions
:: Updated examples ::
FB_5_4_6_Examples/AppleScript/LaunchMailPressSendII
FB_5_4_6_Examples/Controls/CustomDrawnControl (QuickDraw)
FB_5_4_6_Examples/Files/Droplet apps/Accept folder drop
FB_5_4_6_Examples/Files/Droplet apps/FinderInfo
FB_5_4_6_Examples/Files/Droplet apps/FinderInfo replacement
FB_5_4_6_Examples/Games/Spandrel 1.1 (chess)
Downloading here: 4toc.com/fb4/
April 2010
FB 5.4.5 & FBtoC 1.4.5
:: Editor changes ::
- 'Find in Next File' item (Command-option-G) in Edit menu.
- A crash from typing '#if def _someLongConstant' is fixed.
:: FBtoC bug fixes ::
| # |
Type |
Description |
| 510 |
Error |
edit$( without closing parenthesis crashes FBtoC |
| 516 |
| Dim syntax error not flagged |
|
| 521 |
Error |
Function declared as Str63 is unusable |
| 522 |
Feature |
Strip unused FB runtime and C runtime functions during Make Xcode Project |
| 523 |
Nicety |
Insert spaces around '*' in C translation of typed pointer parameters |
| 524 |
Nicety |
Symbolise boolean constants in C translation |
| 525 |
Nicety |
C translation should have NULL instead of (void*)(0) |
| 526 |
Cleanup |
Remove trigraphs and their support |
| 528 # |
Feature |
Option to build command line tool instead of app |
| 530 # |
Feature |
Allow 64-bit compilation of command line tool |
| 531 |
Feature |
Bounds checking should work for record fields that are arrays |
| 532 |
Error |
Hang when parsing call to undefined function |
| 533 |
Feature |
Allow dereference of pointer that is a record field and a pointer to another record |
| 537 |
Cleanup |
Remove thousands of obsolete predefined constants |
# see the 'tool' example below. Also see FB5 Help: Appendix J - Command Line Tools.
:: Function change ::
GetFormattedDateTimeAsString() has been replaced by DateFormatCreateStringWithAbsoluteTime().
Note the difference in parameter order:
//toolbox fn GetFormattedDateTimeAsString( CFAbsoluteTime at, CFStringRef formatString ) = CFStringRef
toolbox fn DateFormatCreateStringWithAbsoluteTime( CFStringRef formatString, CFAbsoluteTime at ) = CFStringRef
:: Revised Headers file ::
Tlbx HIView.incl [fixes definition of HIViewContentInfo]
:: New examples ::
FB_5_4_5_Examples/Command Line Tool/tool
FB_5_4_5_Examples/CoreFoundation/CFString left, right, mid
FB_5_4_5_Examples/CoreFoundation/CFArray of Dicts Proj
FB_5_4_5_Examples/CoreFoundation/CFStrings in FB console
FB_5_4_5_Examples/Miscellaneous/CFDateFormatter test
FB_5_4_5_Examples/Dialogs and Windows/ImageView as window backgound
:: Updated examples ::
FB_5_4_5_Examples/Miscellaneous/DateExample
FB_5_4_5_Examples/CFPrefs Demos/CF string version/Prefs w/Nib & CE
FB_5_4_5_Examples/CoreFoundation/CFAdditions
FB_5_4_5_Examples/Games/Spandrel 1.0 (chess) [replaces RChess 3]
Downloading here: 4toc.com/fb4/
February 2010
FB 5.4.4 & FBtoC 1.4.4
:: Editor changes ::
- Document windows are now live-resizing.
- The text of items in the Errors window can now be copied with Command-C.
- A text selection bug is fixed. It occurred when the mouse was dragged into the left margin. (Thanks to Robert C.)
- Navigation arrows in the Help Book now work as expected.
:: FBtoC bug fixes ::
| # |
Type |
Description |
| 414 |
Nicety |
'Make Xcode Project' leaves stray .proj in build/NewProjectTemplate/ |
| 513 |
| Mouse clicks in compositing window with FB Events and 'on mouse' vector not detected |
|
| 514 |
Error |
Orphan 'case' statement not identified as error |
| 515 |
Error |
Xcode project template not deleted after Xcode project created |
| 517 |
Error |
mki$ function can return wrong values |
| 518 |
Error |
edit$( ef ) crashes if the field has not been created |
| 520 |
Error |
Linker warning shows as pseudo error |
New date$ and time$ functions:
These are now implemented via Core Foundation. They can optionally retrieve both the date and time in one call, and format it in almost any conceivably useful way. See FutureBasic 5 Help for details. The runtime code for date$/time$ may be called directly to format any date/time (not just the current one). See DateExample below.
:: New examples ::
FB_5_4_4_Examples/Miscellaneous/DateExample
FB_5_4_4_Examples/Miscellaneous/DockTileBadge
FB_5_4_4_Examples/Files/EnumerateDirectory
FB_5_4_4_Examples/Files/Alias demo
FB_5_4_4_Examples/Text/CFAdditions
FB_5_4_4_Examples/Text/CFAdditions/CFScanner
:: Updated examples ::
FB_5_4_4_Examples/Nib to FB wndNum & btnNum
FB_5_4_4_Examples/App with icon
FB_5_4_4_Examples/Games/RChess_3.0 [replacing RChess_3.0a2]
Downloading here: 4toc.com/fb4/
December 2009
FB 5.4.3
Important Changes for 5.4.3 ( note: minor bug fixes and other internal fixes are not shown ):
| Type |
Description |
| New |
new xib format support added. This is the newer XML nib used in Xcode.
|
| New |
BeginCCode, BeginCFunction, BeginCDeclaration and EndC are improved methods for including C source directly.
Many examples & documentation updated to use the new BeginCCode/BeginCFuntion/BeginDeclaration keywords.
|
| New |
.c, .h, .m files are now selectable in "Add to project" file dialog.
|
| New |
_FBConsoleWndNum constant allows Console window customization. The user may modify the default window in useful ways, for instance:
include "ConsoleWindow"
window _FBConsoleWndNum, "My tall debug stuff", (5,47)-(500, system( _scrnHeight ) - 5 )
See new console application demo in Examples/Games.
|
| Fix |
open "A" and open "R" now create the file if it does not exist.
|
| Fix |
Menu items ending with '!' or '^' or '<' or '/' no longer crash the app.
|
| Fix |
Linker errors are now passed to editor.
|
:: New examples ::
FB_5_4_3_Examples > CarbonEvents > EventMonitorTarget
FB_5_4_3_Examples > Games > RChess_3.0a2
Downloading here: 4toc.com/fb4/
November 2009
FB 5.4.2 & FBtoC 1.4.2 released
This release is being made early, because of the severity of bug #506 (introduced in 5.4.1).
:: Editor ::
Unchanged
:: Bug-fixes and minor features in FBtoC 1.4.2 ::
323 Error input "prompt"; x does not work in console mode
422 Error dim as long a$ should be an error
467 Error gCntr = edit$( 1 ) should work for > 255 chars
471 Error missing '"' gives bad C code
484 Error bad C code from @"\"
493 Error str$( "should be translation error" )
498 Nicety include "ConsoleWindow" (alternative to include "FBRuntime.incl")
499 Error str$( fpNum ) and print fpNum give different results
500 Error prevent clang Universal build with <10.5 deployment
501 Error in Console Window, print fpNum ignores gFBFloatMaxDigits
502 Error can't access 3D array in record
503 Error prevent array declaration with >4 dimensions
506 Error can't type upper-case letters in edit fields
:: New examples ::
FB_5_4_2_Examples > Calculations > fast sin() and cos()
FB_5_4_2_Examples > Calculations > Expression Evaluator
FB_5_4_2_Examples > Calculations > Measurement of code performance
Downloading here: 4toc.com/fb4/
October 2009
FB 5.4.1 & FBtoC 1.4.1 released
Here is the entire announcement made by Robert Purves in the FB mailing list:
:: Main changes in FB 5.4.1 ::
1. Warnings for a common mistake: forgetting to assign a return value (end fn = someValue) to a function whose value is used elsewhere in the program.
local fn bar
dim as OSStatus err
err = _paramErr
end fn // oops, should have '= err'
dim as OSStatus err
err = fn bar
if ( err != _noErr ) then stop "bar() failed" // oops, never get here
¿¿ Warning: Returned value of bar() is always 0 in line 9 of test.baq
¿¿ Warning: Function should have explicit return value: bar()
2. Choice of compiler. Build settings window has a pop-up menu with four options.
- gcc 4.0 is the default.
- gcc 4.2 is available on 10.5 and 10.6. It cannot build apps to run on 10.3 or 10.4.
- clang is available on 10.6 only. Very fast but somewhat flaky. Best used for development only (change to gcc 4.0 for release build).
- clang (analysis) performs static analysis of your code, giving interesting warnings; nothing is actually compiled..
:: Minor changes in Editor 5.4.1 ::
1. The menu item Project > Remove Item has been deleted.
2. Bug-fixes in the following areas: text drawing, menus, Find/Replace window.
:: Bug-fixes and minor features in FBtoC 1.4.1 ::
476 edit field with filter fn receives Cmd-chars
486 default MinOS deployment 10.4; remove 10.2 target from UI
490 >1-dimension array parameter wrongly translated
492 warn of unused fn prototypes as well as unused fns
494 allow fn instead of def and usr function calls
495 deprecate usr and def function calls
496 terabyte file access; lof(), loc() and rec() return SInt64
497 implement open "N" to give shared access
:: New examples ::
FB_5_4_1_Examples > Graphics > QuickDraw > Image dithering
FB_5_4_1_Examples > Graphics > QuickDraw > Ray Tracing
FB_5_4_1_Examples > Graphics > CoreGraphics > CGGlyphs
Downloading here: 4toc.com/fb4/
September 2009
FB 5.4 released
Here is the entire announcement made by Robert Purves in the FB mailing list:
:: Main changes in FB 5.4 ::
1. Project-based build settings, accessed by 'gear' toolbar item in project window. Project-based settings override FBtoC's preference settings.
2. Improved support for C and Objective-C code, and (new) support for C++. Source and header files with extensions .c, .m, .cpp, or .h may be included either by adding them to the project window, or with the 'include' statement. Including source files is intended to replace the clumsy embedding with _PASSTHROUGHFUNCTION. See: FB_5_4_Examples > Calling C code.
:: Editor ::
1. Antialiased text.
2. Improved Help book.
3. Help menu items include Builtin Constants.rtf, Error Codes.app and FB5 Reference Manual.pdf.
4. Recent Files and Recent Projects menu items have help tag showing path.
5. A Temp Project file is no longer created for standalone file builds.
6. The arrow keys now work to navigate through a project window's items.
7. File 'aliases' are no longer supported. You can use a Finder alias instead.
8. The menu item Project > Reset Search Paths has been removed.
9. The menu item New Project has been moved to the File menu.
:: FBtoC bug-fixes and minor changes since FB 5.3 ::
465 Error array bounds error from mismatched #endif
468 Cleanup remove runtime support for animated cursors
469 Error edit$( btnNum, lineNum ) various bugs
474 Nicety translate 'for' loops more elegantly
475 Error crash from tekey$ statement
477 Error def fn Thing$ = "string stack bug"
478 Feature fully implement '#define MyRecordPtr as ^MyRecord'
479 Nicety make error caret point to end of code, not end of comment
485 Error can't edit print dialog 'From' and 'To' fields
:: New Headers files ::
Tlbx HITheme.incl
Tlbx Pasteboard.incl
Tlbx UTCoreTypes.incl
:: New Headers files ::
CFPrefs.incl renamed to Util_CFPrefs.incl
Minor changes too numerous to list
:: New examples ::
Calling C code
Graphics > CoreGraphics (Quartz) > Hit Testing CG objects
Graphics > CoreGraphics (Quartz) > Quartz 1.11
Graphics > CoreGraphics (Quartz) > How to print CoreGraphics
Miscellaneous > Mouse Hit in HIView
Downloading here: 4toc.com/fb4/
July 2009
FB 5.3 and FBToC 1.3 released
At the end of July, the FB team has released FutureBASIC 5.3 that features a new editor application running natively on Intel. Since it is based on the original editor' source code that was streamlined and enhanced in the process, FB old timers will feel comfortable with this fresh new version.
Here is the announcement by Robert Purves:
:: Notable changes from FB 5.2 ::
1. Universal binary editor runs native on Intel.
2. Editor's Build Log shows progress of translation and subsequent build steps.
3. Editor doc windows are useable when toolbar hidden.
4. Editor has Help Book that in part describes FB5, not FB4.
5. New icons for editor, FBtoC, and FB documents (log out/in to see).
6. Find/Change window is resizeable.
7. Source code text is drawn with the casing in which it was typed.
8. New projects have extension .fbproj.
Note that FutureBasic 5.3 editor requires FBtoC 1.3 and vice versa; you can't mix and match with earlier versions.
:: Bug fixes and minor features in FBtoC ::
421 Error setting gFBQuit true in DoDialog() doesn't quit
443 Error unhelpful error msg from malformed _constant
444 Error string[pointer] should be translation error
445 Error *.m files not copied during Make Xcode Project
446 Error string stack bug from 'input z'
447 Feature 'Hide on suspend' preference checkbox
448 Error Objective-C source files become *.m.m
450 Error flag missing commas in argument list
452 Error 'Bad case statement' error could force recompilation
453 Feature allow constants to start with numeral
455 Error nested index with 'Check array bounds' gives various bugs
456 Feature change 'Use DWARF' radio button to 'Put line # in app'
457 Error .c, .m and .h files could open in FB when double-clicked
458 Error edit$( btnNum ) returns nothing if text len > 255
459 Feature Save Log As...
460 Nicety 'More warnings' should not include -Wunused-parameter
462 Feature @"somestring" --> CFSTR( "some string" )
464 Error output window wrong for _btnClick in floating window
470 Nicety explicit error for protoype illegally in local fn
:: New Headers files ::
Util_CFUN.incl
Util_Nib.incl
:: New examples ::
FB_5_3_Examples > Carbon in Cocoa
FB_5_3_Examples > Graphics > CoreGraphics (Quartz) > AceOfHearts, ImageMask and ColorMask
FB_5_3_Examples > Files > Accept folder drop
:: Some old kludgy declarations in Toolbox CFDate.incl have changed to match the offical Apple declarations ::
CFGregorianDateIsValid()
CFGregorianDateGetAbsoluteTime()
CFAbsoluteTimeGetGregorianDate()
CFAbsoluteTimeAddGregorianUnits()
CFAbsoluteTimeGetDifferenceAsGregorianUnits()
Downloading here: 4toc.com/fb4/
April 2009
FB is still alive and well
In spite of the extremely scarse updates of this very site, the FB team is still doing a hard job improving both the FB Editor and the FBtoC application. So instead of writing a long note by myself, here are the announcements for each new release (from the most recent to the oldest) that Robert Purves published in the FB mailing list and that I failed to report on this page:
March 2009, 21: FutureBasic 5.1.5 and FBtoC 1.1.10
:: Editor changes ::
1. An unsaved standalone file can now be built and run (Command-R); see note 1 below.
2. Compile Info window shows progress of both translation and compilation.
:: Bug fixes in FBtoC 1.1.10 ::
426 Closed: inkey$ does not return
427 Closed: val&( "01" ) and val&( " 1" ) should return 1
428 Closed: spurious error from 'if...then edit$(1) = "" else stop'
429 Closed: 'text' statement with no parameters hangs FBtoC
430 Closed: Tlbx glu.incl could not be included
:: New example ::
FB_5_1_5_Examples > Text > HITextView+FontPanel > HITextView
An HITextView with the FontPanel allows multistyled text with shadow, colour, double-underline and other eye-candy.
:: Note 1 ::
This is a normal Run in every way, except that the various files required by FBtoC are in your TemporaryItems folder, which (in OS X 10.5) is somewhere like:
/private/var/folders/88/88AKX+F62RWmd++8ZOxBkU+++TI/TemporaryItems.
February 2009, 16:
FutureBasic 5.1.4 and FBtoC 1.1.9
:: Editor 5.1.4 changes ::
1. Scripts '#if 1/#endif' and '#if 0/#endif' fixed.
:: FBtoC 1.1.9 changes ::
1. Typed functions without a suffix are allowed, for example
local fn Name as Str255
end fn = "Ann"
2. FB4 kludges removed from toolbox declarations (see below).
3. The setting 'Use precompiled header' works for universal builds.
4. The build system determines which pieces of a large program need to be compiled, and compiles only those pieces.
:: Bug fixes ::
415 Closed: Make Xcode Project wrongly quotes/escapes nib names
417 Closed: dropping file on FBtoC spoils log window position
420 Closed: Allow files with no OSType to be opened.
424 Closed: input # bug
425 Closed: record # should set file mark when extending
:: FB4 kludges removed ::
The Carbon C definition of these five functions includes a 64-bit parameter, which in FB4 had to be split into two 32-bit halves:
HIViewFindByID()
HIViewSetID() // rarely used
CreateMouseTrackingRegion()
HIViewNewTrackingArea()
HIViewChangeFeatures() // rarely used
You will have to change your code from, for example:
fn HIViewFindByID( fn HIViewGetRoot( w ), myHIViewID.signature, myHIViewID.id, @myView ) // old syntax
to the simpler correct form:
fn HIViewFindByID( fn HIViewGetRoot( w ), myHIViewID, @myView ) // FB5.1.4 syntax
January 2009, 9:
FutureBasic 5.1.3 and FBtoC 1.1.8
:: Editor 5.1.3 ::
Unchanged from 5.1.2.
:: FBtoC 1.1.8 changes ::
'on FinderInfo fn Xxxx' implemented [see FB_5_1_3_Examples > Files > FinderInfo]
The Headers file Util_CE.incl has been extensively commented for easier use.
:: New Headers files and examples ::
Util_EUTCKeyFilter.incl [see FB_5_1_3_Examples > Text > EUTC Key filter]
Util_Toolbar.incl [see FB_5_1_3_Examples > Carbon Toolbar > The easy way]
Tlbx HITheme.incl [see FB_5_1_3_Examples > Controls > HITheme_demos]
Tlbx CoreText.incl [see FB_5_1_3_Examples > Text > CoreText xxxx]
:: CoreGraphicsheaders changes ::
The special FB4 syntax for a handful of CG functions (CGRectMake, CGRectOffset, CGContextGetCTM ...) has been discarded. You will need to change the way you call these functions in your source code. For example:
fn CGRectMake( r, 0.0, 0.0, 10.0, 20.0 ) // old FB4 syntax
r = fn CGRectMake( 0.0, 0.0, 10.0, 20.0 ) // new FB5 syntax similar to C
:: Additions to the CG headers ::
CGDataProvider.incl
CGError.incl
CGFont.incl
CGGradient.incl
CGPath.incl
CGPDFArray.incl
CGPDFDictionary.incl
CGPDFDocument.incl
CGPDFObject.incl
CGPDFPage.incl
CGPDFStream.incl
CGPDFString.incl
The FB4 'local fn' wrappers have been removed from all CoreGraphics functions. This change makes 'fn' optional when calling CG procedures (functions that do not return a value).
fn CGContextFillRect( ctx, r ) // 'fn' formerly required; now optional
CGContextFillRect( ctx, r ) // new simpler syntax
:: Bug-fixes ::
370 Closed: button statements uncheck a checked checkbox
404 Closed: scroll button mishandles Rect param at creation
406 Closed: key chars with high bit set are negative in _evKeys dialog event
409 Closed: I-beam cursor persists after click in FBtoC Log window
410 Closed: gcc error from struct/record field named 'index'
412 Closed: gcc error from pi if prefs 'Allow dim a#,a$,a%'
413 Closed: val&() should return 0 if first char is alphabetic
November 2008, 17:
FutureBasic 5.1.2 and FBtoC 1.1.6
:: Important change in HandleEvents ::
The default behaviour of HandleEvents is now to block (i.e. not return) unless an event is dispatched.
It is no longer necessary (but is harmless), to suppress null events with:
poke long event - 8, 0xFFFFFFFF // no null events
The original behaviour of returning 30 times a second, if required for old polling code, can be restored by:
poke long event - 8, 2 // null events every 2 ticks, like FB4
do
fn PollForSomething
HandleEvents
until gFBQuit
:: Editor (FutureBasic 5.1.2) changes ::
Fixes to text display in the Errors window.
A bug has been fixed that caused the cursor to change to an arrow over the Scripts Palette even when the latter was hidden.
:: FBtoC 1.1.6 changes ::
1. Default behaviour of HandleEvents changed.
2. The rarely-used 'system' statement is no longer equivalent to 'end'. Please change your code to use 'end'.
3. The 'menu' statement now allows an optional 5th parameter (commandID).
4. New/revised Headers files:
Tlbx CFBase.incl
Tlbx CFString.incl
Tlbx CFArray.incl
Tlbx CFData.incl
Tlbx CFDate.incl
Tlbx CFNumber.incl
These header files are more complete than previously; if you get redefined function errors for your own CFxxxx declarations, just comment out your declarations.
5. New Headers file:
Util_Containers.incl [for use see FB_5_1_2_Examples > Containers > Util_Containers example].
6. New Headers file:
Util_Toolbar.incl [for use see FB_5_1_2_Examples > Carbon Toolbar > Toolbar Example].
7. FB_5_1_2_Examples > Sorting [FB3/FB4 CD examples updated for FB5]
8. build_temp folders created by FBtoC are excluded from Time Machine backups.
:: Bug fixes ::
390 Closed: left$$, mid$$, right$$ give _zTrue when comparing chars
391 Closed: mid$$( c, 1 ) gives "comma expected error"
392 Closed: scrollbar of console app lacks down-arrow
393 Closed: garbled error from proc "NoSuchFunction"
394 Closed: prHndl..prInfo.rPage fields are byte-reversed on Intel
396 Closed: default edit field is _framedNoCR instead of _framed
398 Closed: can't access 2-D array inside record
399 Closed: def apndstr has endian bug (on Intel)
401 Closed: crash from print after front window closed
402 Closed: 'Array bounds error' alert shows as 'Quit'
October 2008, 20:
FutureBasic 5.1.1 and FBtoC 1.1.5
:: Editor (FutureBasic 5.1.1) changes ::
1. Script Palette replaces Script submenus.
2. Project window has Headers button, which opens the Headers folder in the Finder.
:: FBtoC 1.1.5 changes ::
1. New File menu item: Make Xcode Project.
2. New feature and setting: Warn of unused functions.
3. Domain and folder type constants (_kUserDomain, _kApplicationSupportFolderType...) are now defined.
4. New Headers file Util_CE.incl provides a simplified method to implement Carbon Events in your code; for demos see FB_5_1_1_Examples > CarbonEvents.
:: Bug fixes ::
314 Closed: make strings in *.c runtime localizable
378 Closed: elided error message from include library "NoSuchFile"
381 Closed: editor ignores some translation errors
382 Closed: aliased source file prevents translation of main
383 Closed: editor's Stop button does not affect build by FBtoC
384 Closed: I-beam cursor stays after click in Prefs 'More gcc options'
385 Closed: unusable CreateMouseTrackingRegion() in Tlbx CarbonEvents.incl
386 Closed: 'picH = picture' gives translation error
387 Closed: _useWFont fails for some appearance buttons
September 2008, 24:
FutureBasic 5.1 and FBtoC 1.1.4
:: Important change in FBtoC ::
Until now, the build process would automatically copy every nib (*.nib) from the source folder into the built app package. This greedy and surreptitious copy risked the inadvertent inclusion of files like "OldRubbish.nib" and "embarrassingly bad.nib". Now, nibs are ignored unless specified in an 'include resources' statement or in the editor project window (see below).
This means that every project or standalone file that uses a nib interface needs modification. The most straightforward fix is to add a line of code resembling this:
include resources "main.nib"
for each nib used by your project.
:: Editor (FutureBasic 5.1) changes ::
1. New menu items give better integration with FBtoC

2. FBtoC preferences are also accessible from a pane in FB preferences.
3. Project window allows files of any type to to be dragged and dropped, including nib, sound and image files.

Such files are copied during the build to <AppName>/Contents/Resources or <AppName>/Contents/Resources/en.lproj as appropriate, as though they had been specified in an 'include resources' statement in source code.
:: FBtoC 1.1.4 changes ::
1. gFBFloatMaxDigits implemented
2. New file and directory utilities available in Headers file Util_FileDirectory.incl. See FB_5_1_Examples > Files > File_Directory examples.
:: Bug fixes ::
372 Closed: bad factor when input# used with var instead of constant
375 Closed: 'line input #serialPort, s$' gets no chars
377 Closed: open "A"... doesn't work with FSRef or CFURLRef
380 Closed: close #e... etc mistranslated
September 2008, 12:
FutureBasic 5 and FBtoC 1.1.3
:: Bug fixes in FBtoC 1.1.3 ::
365 Closed: Can't access App menu's MenuRef before building a menu
367 Closed: rnd(x) produces same number on repeated runs
368 Closed: _cursEvent, _cursOverBtn … not implemented
369 Closed: appearance button statement should support graphics content
371 Closed: print using gives wrong string for 0.0
373 Closed: Stackable Nav sheets
374 Closed: Infinite error loop: if a then text a else text b
Downloading here: 4toc.com/fb4/
September 2008
FutureBASIC 5 is out!
FutureBASIC 5.0 has been released along with FBtoC 1.1.3 (US version only). But what's that?
FB5 is merely the FutureBASIC Editor tweaked to work with FBtoC only. It doesn't rely anymore on Andy Gariepy's FB Compiler to produce applications, therefore some options have disappeared from its menus and the Extensions folder has been discarded eliminating in the process the discrepancies between the Headers folder used by the FB Compiler and the Headers folder dedicated to FBtoC.
At this time, FB5 is still a PPC application. It might become a Universal binaries in the near future. Furthermore, the GCC compiler's preferences must be set up within the FBtoC application, this might also change in the coming months to mimic the FB4 behavior coupled with the old FB Compiler.
For those who need to maintain old big applications or to support old Apple's computers and systems (68k, PPC, Carbon Classic/OS X, system 9.2) FB4 is still available and up to the task.
Downloading here: 4toc.com/fb4/
March 2008
Little progress
For the French speaking visitors lost on this page, they should know that FutureBASIC 4 Release 4.4.2 along with FBtoC are available now in French at: 4toc.com/fb4/. This new release has been updated to offer a smoothier transition to FBtoC. The localized package weighing 50Mb is stuffed in a single archive containing the manuals and the example files . FBtoC must be downloaded separately.
February 2008
Speaking of which
As expected, the recent announcement made by Staz Software has induced a surge in activity among the FB programmers, newcomers and oldtimers alike. This is a positive sign. Now we must hope that this excitement will spread and last over time.
As a consequence, I have started to receive e-mails asking for technical support from around the world and while I appreciate the confidence, I must remind my correspondents that FutureBASIC is now a hobby as far as I'm concerned. I'm no longer officially in charge of the technical support. Said otherwise, I can only reply when time permits. Let me add that English is not my native tongue, therefore it takes much more of my time to come up with a decent reply in this language. So, for a better support you should subscribe without reticence to the official FB mailing list at associate.com. This is clearly the hot place for FB programmers nowadays.
In a recent contribution, I wrote that MacWise by Carnation Software had been compiled as a Universal application using FBtoC. This was wrong. I must apologize now for the false statement I made. Actually, the updated application was released to run smoothly under Leopard, which is not the same thing at all. However, my statement was just a bit premature because today it's OK.
Lately, I've been working on the French version of FBtoC in collaboration with the FBtoC team and this was the opportunity for them to implement a new feature that will ease the localization of your own created applications. Stay tuned.
Note that the French versions of FB and FBtoC although ready for prime time are not yet available for download. I will seek an arrangement with Staz Software in the shortest delays. I have no insight regarding the Italian version, all I know is that Michele Neri is working hard on the FBtoC application itself at this time. At last, if you are interested in localizing FB in your own language (other than English, Italian, Japanese and French, that is), you might get in touch with the FBtoC team via the FB mailing list as it seems there is no contact form on their web site.
January 2008
A word of caution
Some programmers (myself included) have been using the DataBrowser For Dummies library in their applications, but while I am honoured by that fact, I have to say now that this is not a really good news. At first this library was intended for the learning of the DataBrowser control, which is a very rich puppy in Apple's bestiary and therefore a bit hard to fathom on first approach. However, that library is shamelessly reaping advantage from the weak typing of the FB language, furthermore the underlying mechanism to achieve the desired simplicity for the end-user (in that case, you as the programmer) is somewhat intricated, not to say convoluted.
Now, the problem is that this way of coding is totally unfit for the compilation with GCC through FBtoC, and worst, it cannot even be tweaked to get it up to the task of becoming universal binary. There's only one alternative for those of you who already use the DBFD library: code rewriting to implement the DataBrowser in your applications, if you want them to run natively on Intel Macintosh. Not really cool.
That being said, the code and functions in DBFD could serve as a template to start the necessary job of adaptation for your specific needs. You might also prefer to start with the DataBrowser example by Bernie Wylde that comes along with the FBtoC package.
FB freeware: bad news or good news?
Some of you have raised the question of the significance of FutureBASIC going freeware. Is this a good thing or a bad thing?
Quite frankly, I have no insight as to where Staz Software is going, and it has been a while since I spoke to Chris Stasny privately, but I don't think it is really a good news for him in spite of the fact that it will relieve him of a heavy burden. Furthermore, I suspect that hurricane Katrina played a significant part in his decision. Following the disaster we have all noticed the slowdown in the frequency of new releases and major upgrades, a slowdown that has come close to an halt, in fact. Sad. Whatever the true reasons may be, we owe Chris a big thank you for his relentless support during the past two decades. Personally, I can't find the words to express my immense gratitude.
Anyway, according to his last contribution on his Web site, this is not the end for FutureBASIC. On the contrary, it may well be a new start. First, I believe that spreading this recent news about the fresh status of FutureBASIC can bring back some of the old customers who were reluctant to pay their annual fee for an update of their IDE. Secondly, now nothing can stop new users from getting on board. Better late than never. The latest point being the most important, as I see it, guaranteeing a healthy survival of our favourite IDE.
While the FB community was probably the most friendly around the Web that one could hope for, it was more like joining a little tribe, a survival of the past, isolated from the general programmer community at large. The current paradigm shift might give a nudge in the right direction. FB is on the verge of becoming an open source project. If this is not the key for success per se, at least, this should increase the odds to see FB still well alive in the years to come.
For the moment, we can count on the small team that has been tackling the heavy job for Staz Software for the last two years. Today, we can benefit from their work with the first official release of FBtoC, but they still have plans for the future: they have yet to convert the FB editor to a Universal Application, and, more importantly, they have to integrate FBtoC with the FB Editor, making FB programming for Intel Macs a seamless experience.
In short, it is a bit early to decide whether we are dealing with good news or bad news on this matter. At this very moment, only time will tell.
Santa Claus is alive
Yesterday I posted an update to wish everybody a Happy New Year. Today I'm at it again to report the latest good news. Yesterday, FutureBASIC became freeware. That means that anyone can now download it and use it for free. So, if you don't own the latest release, it's time for you to visit Staz
Software web site.
Here is Staz' announcement:
NEWS! FB is Freeware!-- January 1, 2008
FutureBASIC is now freeware! Starting January 1, 2008, FB will become freeware. Does this mean that work on the product will come to a halt? Absolutely not. For starters, you will be able to download a revised editor that addresses problems with OS X, System10.5. Later, you will be able to download the exciting new translator under construction by the FBtoC team that will allow FB code to be compiled by the GCC compiler.
Happy New Year!
As a matter of fact, the FB front has been very quiet the past year: no big announcements, no major releases. This is not saying that nothing has happened during that time, but what the FB community is awaiting eagerly now is the next big step regarding programming with FutureBASIC that could guarantee its survival.
The good news is that it's coming. Some time ago, a small team, led by Robert Purves, started to work on a new tool designed to produce Universal Binaries and generate applications running natively on Intel Macs. This project is now well advanced, up to the point that we can expect its first release in the very near future.
Of course, no date has been proposed yet, but a few beta testers have already reported that they have successfully compiled some of their applications, even commercial ones. For instance, MacWise,
is now available with Intel compatibility. This is quite encouraging.
The tool called (for the moment) FBtoC, reads FB native projects and, as its name implies, converts the code into C, to ask the GCC compiler (available on the Developer CD of all Mac OS X System disks) to generate the resulting application. The process is straightforward, at least on paper, and ideally it should be transparent for the programmer.
Actually the things are not that simple, because the process bypasses entirely the FB compiler. That means that a lot of legacy code had to be cut out. Old Apple "technologies" like the archaic 'working directory reference number' for example, are no longer used, and forbidden in your code if you intent to target Intel Macs. For those of you who are still lagging behind, it is really time to move on.
So the strength of FB in that it allowed very old BASIC code to continue to run on Macintosh, is over. This is an inconvenient fact, and if you have not followed the advice of FB gurus, be prepared to spend some time rewriting your old applications. For now, the best advice I could give you on my end is to subscribe to the FB
mailing list at associate.com. Not only will you find other programmers ready to help, but also the announcements for the latest versions of FBtoC with its documentation that you can download and test.
Febbraio 2007
QuiXample 1.7.4
This maintenance
release corrects a bug occurring in the Italian and French versions which
prevented a few menus from acting properly. The code has been very slightly
edited but has been compiled using the most recent FB headers coming from
the latest beta version of FB.
You can download QuiXample here
DataBrowser For Dummies 3.1
Mousewheel
support, which was inadvertantly disabled, has been restaured in this
release.
You can download DBFD here
Gennaio 2007
Buon Anno Nuovo a tutti!
Dicembre 2006
QuiXample 1.7.3
Recent changes
in the DataBrowser For Dummies library that QuiXample uses, introduced
a severe bug that caused the application to crash while the user was toying
with checkboxes. This new version, built with the latest release of FB,
should fix the problem.
You can download QuiXample here
DataBrowser For Dummies 3.0
In spite
of its pompous new version number, there is nothing new in this release,
except that a nasty bug related to the handling of CF strings is supposed
to be squashed by now.
You can download DBFD here
Noviembre 2006
E' arrivato FutureBASIC 4 Release 4
Questo
rilascio di aggiornamento arriva con una speciale offerta di rinnovo per
gli attuali sottoscrittori. La principale caratteristica di FB4 R4 è
il suo nuovo compilatore che non è solo più veloce e snello
ma ora è solo per OSX. Produce quasi esattamente lo stesso codice
PPC della Release 3. Il Compilatore non aggiunge più risorse obsolete
nelle vostre applicazioni ('CODE', 'Tara', 'Gigi', 'Andy', 'Staz' 1997).
Anche l'interfaccia utente del Compilatore è stata aggiornata.
Ci sono piccoli cambiamenti nell'applicazione Editor: usa meno tempo CPU
e presenta piccole modifiche estetiche in alcuni pannelli della finestra
Preferenze. C'è un nuovo file header CFIndex.incl che
può notevolmente velocizzare le vostre matrice Index$.
Sono stati introdotti nuovi comandi per lavorare sulle matrici dinamiche: Def DynamicInsertItems, Def DynamicRemoveItems e Usr DynamicItemSize. (vedere il manuale
Riferimento per i dettagli).
A bit more about this release here.
April 2006
A new flame
Many of you
have been following FutureBASIC's adventure since the dawn of Macdom,
record longevity for an IDE on this platform bar none. But times are a-changing
and while FB is still full of ass-kicking goodness for the aficionados
-- from where I'm sitting, at any rate -- I, on a personal level, also
have to do other things with my life. In no way I am abandoning ship,
but I'll be honest by saying that after the disappearance of Pix &
Mix, I simply have to earn a living, and that is why I am also tying my
bootstraps to another boat. This will clearly mean that I will be less
present on the FB front, even though I still plan to continue the translations
for the French-speaking programmers. I am also still officially in charge
of the master of the Euro CD, and I'll try to keep this site up to date
as much as I can (hey, look at that, I'm even ahead of Staz Software in
the publication of the new features in the next release).
The funny thing is that I'm now involved in the mogWerks project, actually
a brand new company for Web development that has been settled by another
FB-er whom I met around year 2000 thank to the FutureBASIC mailing list
at associate.com and whom you know perhaps for his programming skills
with FB or without your knowledge because that's him who designed the
euro.futurebasic site eons ago. Jonathan (a.k.a. the gnome) for many years
was a great figure in the FB community.
mogWerks has little things to do with FB, if at all, therefore be aware
that I will handle all the tasks related to FutureBASIC in my spare time,
so you should not expect an immediate answer to your e-mails and for those
who are used to calling me on the phone, I'll ask them to be indulgent
if I need to shorten our conversations.
If you are curious about our new company, come to visit our commercial
Web site at: mogwerks.com, but as programmers,
you will be probably more interested in the other Web site we have put
together which is dedicated to our Open Source projects at: mogwerks.net.
Do I need to say your support is welcome?
Last of all, I would like to finish with special thanks -- but I'm embarrassed,
lacking the words, both in English and in French that can sincerely indicate
the depth of these thanks -- to Michele Neri (a.k.a. Mich the Great) the
Italian localiser of FB for his incredible volunteering work, help and
support for all these years. I even believe that we have never met each
other IRL, how come? I think I'm really missing a rare human being. And
now Michele has just offered to join us in our first Open Source project.
At least, it seems the FB spirit is alive and well in this new endeavour,
isn't it?
FutureBASIC 4 Release 3 is out!
In
spite of the battering inflicted by Hurricane Katrina -- the traces of
which will still take many years to clear, if they ever do -- we are glad
to announce that FutureBASIC 4 Release 3 is ready for shipping. While
this release was long overdue, we must congratulate Chris Stasny for having
stayed the course and providing us with a new, enhanced version of our
favorite IDE. For a detailed list of changes, bug fixes and new features,
please follow this link.
Go to the Staz
Software site to place orders for new subscriptions, or renew an existing
one. If you want the European CD (at no additional charge), remember to
note this in the Comments field of the order form.
Now that Apple is going Intel, what's the future for FutureBASIC?
This is what Herbie Gluender is exploring
in a short article which he gave us the right to reprint here.
"We are currently experiencing Apple’s transition from
the PowerPC- to the Intel-based hardware accompanied by a corresponding
software transition. Hence, users of the FB
IDE might also ask what this transition means for their existing,
and future, code and applications? Although specific statements about
future versions of the FB IDE can’t be made yet, this document will
cover general considerations of what needs to be done by the makers of
the FB IDE and, by consequence, by FB coders."
Read more...
QuiXample 1.7.2
Nothing really
fancy here, this new version makes use of CF Preferences.
You can download the package here
Febbraio 2006
QuiXample 1.7.1
Following an
overwhelming demand, I have implemented a new feature that allows to search
the FB documentation with QuiXample. The search is performed in the language
keywords only, but you can use a partial term to retrieve the keywords
of interest. From there, the FB documentation can be opened in your favorite
Web browser.
You can now also label files to help you sort the results. At last a couple
of serious bugs have been squashed. Please, have a look at the readme
file.
You can download the package here |
Ultimo aggiornamento:
Gennaio 2012
Ref: 
Storia
FB4 Versione 4
FB4 Versione 3
FB4 Versione 2
FB4 Versione 1
FB3 Versione 7
FB3 Versione 6
FB3 Versione 5
FB3 Versione 4
FB3 Versione 3
FB3 Versione 2
FB3 Versione 1
Articoli
Universal Binaries?
The Carbon Corner
Porting FB Code to Carbon
Dall'altra parte dell'Atlantico
|