Wiki Home

Europa Features

Namespace: VB
Europa is the Code Name for VFP 9.

See also Visual FoxPro Version Feature Concordance
This list is incomplete. You can help this wiki by expanding it and sharing your knowledge.

MalcolmGreene summarized the various coverages and posted this list on Pro Fox.

- 65K limit on array size has been removed (limited now only by available memory)

Data engine:
- New data type: Timestamp (for clarification, there is no new Timestamp data type. We are adding a Varbinary type which can be used for SQL Timestamp fields, which are binary -- RB).
- New data type: VarBinary
- New data type: VarChar (a 255 character field that returns the len(alltrim(field)) as the length of the field)
- CAST() function (just like SQL Server)
- ICASE() function (immediate CASE/IF-like function)
- Binary indexes (these can be over 30 percent smaller in size than regular indexes)

- Forms are now dockable, along with most IDE windows
- There are new properties for “anchoring” form: auto-control resizing, both absolute and relative anchoring in containers. 08-Jul-04 An anchor builder is available here.
- Separate text and picture alignment, along with word wrap, is now allowed in command buttons and check boxes.
- Collections can now be assigned as a RowSourceType in list boxes (combo boxes and grids as well???)
- The ability to dynamically rotate labels at any angle
- PolyPoints property for lines and shapes: allows creation of many different lines and shapes with fill colors and patterns
- New property will allow you to create a graphical command button that still uses an Alt+ shortcut

- PRG’s can now be opened in the Class Browser, which is also now dockable
- The Expression Builder now supports syntax coloring
- Default values may now be entered in the New Properties dialog for a form or class
- The new _MemberMeta property will contain XML declarations/capitalization of attributes for properties/methods
- Background compilation (compiles a line as it is being entered and changes the color of the line if problem detected)
- Favorites tab in the property sheet
- Zoom dialog now supports extended characters, like carriage return for captions
- Ability to define your own builders for an individual property

- Objectifying and opening the architecture (object-oriented syntax)
- Ability to output to additional formats (XML, HTML)
- Ability to plug in external components as alternative output engines
- Support for international fonts
- English/metric measurements in the grid scale
- Design-time labels
- Ability to protect reports from modifications
- Design-time events
- Two new system variables called _REPORTBUILDER and _REPORTDESIGNER are all in the design stage
- Increased flexibility for chaining reports
- New report processing events

- No limit on size of procedures in PRG (removed 65K limit)

- No limit to the number of joins, subqueries, unions, tables, and arguments inside of an IN() function
- Multiple subquery nesting is now also allowed
- GROUP BY in a correlated sub-query
- Sub-queries in a SELECT list
- ORDER BY clauses using a field name with a UNION clause
- UNION commands inside an INSERT
This is all based from Ted Roche's excellent Web log from DevCon 14's Bonus Session with Ken Levy and Randy Brown.

Europa (VFP9) Design Goals (directly with Ted's thing)
Based on wish list customer feedback
Enhance database language and types
Additional end user UI features
Increase developer productivity
Improve report writer significantly
Extend XML, .NET and SQL Server interop
More designer hooks for extensiblity

The Europa Report Writer will be (at least by design) backward compatible but with added output flexibility and open architectures.

Protect existing FRX investment
Added output flexibility
Open architectures
Better resuse story
Design-time improvements
Access to report objects at runtime

Design-Time Improvements
FontCharSet – font script support
Grid Scale dialog – inches, centimeters
Design-time labels
PROTECTED design mode
Better Data Environment story
_REPORTBUILDER, Design-time events

Runtime Improvements
Object Oriented syntax
More flexibility with Report Chaining
New output types (e.g., XML, HTML) and open architecture to plug-in 3rd party output engines.
Report processing events.

More on the Non-ReportWriter stuff.

Background compilation - as you type in code, the color will change if the code will not compile properly.

Another major part of the Europa design will be the removal of limitations that we have all learned to live with:

- Arrays can be bigger than 64K.
- no more limitations on number of joins
- many more

There are lots of enhancements with SQL (can't remember any of them).

New DataTypes
VarBinary - used for SQLServer Timestamp fields
VarChar - The implementation here is essentially a 255 character field that returns the Len(AllTrim(field)) as the Length of the field

CAST() function to allow you to convert items without having to use UDFs.
CAST (cAddress+CHR(13)+cCity AS M)

ICASE() function - just like IIF but for Case Statements

Forms now can be docked with the new Dockable property.

You will be able to anchor objects on a form so you no longer need the _Resize FFC.

A number of new enhancements will support aligning of graphics and text for Command Buttons, CheckBoxes. Word Wrap will now work with Checkboxes!
A new property will allow you to create a graphical command button that still uses an Alt+ shortcut.

Listboxes can now hide the scrollbar if there aren't enough items to fill the list.

A Listbox now also support Collections as a RowSourceType.

Labels can be rotated or angled.

You can now use the Line shape with Points and create Polylines and Polygons (just so you can create that Graph in FoxPro that you always wanted to).

You can now load PRG classes in the Class Browser.

Cool Stuff on the PropertySheet

Zoom dialog now supports extended characters, like carriage return for captions.

ExpressionBuilder now supports syntax coloring and background compiling.

The new property dialog now offers a default value entry and is no longer limited to 255 characters.

Maybe a Favorites tab in the Property sheet.

The coolest part is that you will be able to define your own builders for an individual property. This is done with a property called _membermeta (names may change).

Category VFP Versions
( Topic last updated: 2005.01.20 01:08:32 AM )