vom: 05.11.2003 von: Christof Lange dforum@foxpert.com
VFP 9 News von der DevCon  
Hier die ersten News zu VFP 9 frisch aus der Keynote. Einige Zeilen sind noch in Englisch, weil ich die einfach von den Slides abgetippt habe.

SQL Server Kompatibilität
- SQL Spracherweiterungen
* Select more than 9 joins
* Multiple nested queries
* No limit on joins
* No limit to subqueries
* No limit to UNIONs
* No limit to the number of tables
* No limit to IN() arguments
* Allow multiply subquery nesting ´
* Allow GROUP BY in correlated subquery (group by inside)
* Allow SUB-SELECT in FROM clause
* Allow TOP N/ORDER BY for non-correlated subquery
* Allow subquery in select list (projection)
* Allow order by using field names with union clause
* Optimize LIKE "sometext%" performance
* Optimize top n performance
* Allow union in insert into … select
* Allow subqueries in update set list
* Support for correlated update
* Correlated delete
* Rushmore optimization for DELETED() tag (BINARY index)
- Neue Datentypen
* Varbinary
* Varchar (macht ein automatisches RTRIM())
* blob
- TableUpdate liest automatisch bestimmte Felder neu ein
- Oca.RecordRefresh() liest manuell die Felder neu ein.
- Cast() Funktion
* z.B. SELECT CAST(Feld as M) FROM...
- SQLEXEC() hat einen vierten Arrayparameter, der die Datensatzzahl für jeden Befehl und

die Ergebnistabellen enthält, wenn mehr als ein Befehl auf einmal übertragen wird.


.NET and XML Interoperability
- XML Doc Support
- Extend XSD Schema support
- Output hierarchial xml
- Allow XPath scripting in XMLName property


Developer Productivity
- Enhanced system cabapility
* Arrays > 65 K
* >128 levels of DO nesting
- Property sheet extension
- Intellisense
* With…Endwith
* Available in memo fields and at runtime
- ICASE() Funktion
- Background compile current line


Oberflächenverbesserungen
- Checkbox unterstützt Word-Wrap
- Button image positioning
- Listbox RowSource for collection
- Docking forms
- Anchoring erlaubt automatisches Resize von Objekten ohne Code
- "..." Knopf im Propertyfenster kann eigenen Code aufrufen, für jedes Property separat.
- Text auf Button kann links/zentriert/rechts orientiert sein
- Commandbutton: Abstand zwischen Text und Bild kann eingestellt werden
- Hotkey für Commandbutton mit Bild (PicturePosition = 14, no text)
- Alignment für checkboxes, wordwrap
- Scrollbar in listbox optional. Wenn nicht genug Einträge vorhanden sind, wird sie

automatisch ausgeblendet
- Collections in Listbox und Combobox
- Beim Label kann gesteuert werden, wie es über Shapes erscheint (durchscheinend, deckend,

etc)
- Mauscursor kann für das gesamte Grid gesteuert werden
- Rotation von Label und Shape
- Dockable Eigenschaft (0,1,2) bei Formularen erlaubt Docken aller Formulare
- PolyPoints erlaubt beliebige Polygone bei Shapes und Lines
- Lines erlauben LineSlant="S". Es entstehen Beziér Kurven.


Report Writer Enhancements
- Protect existing FRX investments
- Open architecture
- Better reuse story
- Design-time improvements
- Access to report objects at runtime
- Object oriented syntax
- More flexibility with report chaining
- New output types (e.g. XML/HTML) (AFP Dokument)
- Report processing events
- Zoomfunktion in preview
- Font ´Property kann über einen einzigen Dialog geändert werden
- Detail Header/Footer
- Mehrere Detail Bereiche (zwei one-to-many) (up to 20)
- Target Alias bestimmt SKIP Befehl
- Zwei Detailbereich mit der gleichen Tabelle in verschiedenen Bands
* Eine Rechnung zeigt oben die fertigen Summen an. Diese Summe kann dann in einem späteren Detailbereich genutzt werden, um prozentuale Anteile der Gesamtsumme zu berechnen.
- Berichtsvariablen zurücksetzen bei Band
- _REPORTBUILDER
* Jeder Dialog kann durch einen eigenen Dialog ersetzt.
* Builder wird als SourceCode mitgeliefert werden
- Position kann fix angegeben werden
- Protection (moved, edited, deleted, visible)
* MODIFY REPORT test PROTECTED
- Dataenvironment kann ersetzt werden im Designer
- Bilder können im Hintergrund auf einer absoluten Position eingefügt werden ("Entwurf"

als Text quer über die ganze Seite)
- Reporteinheit kann angepaßt werden (cm, Inch)
- Skript in Font kann geändert werden (europäisch, osteuropäisch, etc)
- User Feld wird nicht mehr gelöscht
- Eventhooking, Event Registry erlaubt die Reaktion auf diverse Berichtsdesignerereignisse

(Doppelklick auf ein Element im Designer, etc.)

Mehrfache Detailbereiche
Design-time hook
Design-time protection
Reportbuilder
Improved zoom (10%-500%)
International fontcharset - font script support
Grid scale dialog - inches/centimers
Design time labels
Protected design mode
Tooltips
Better dataenvironment story
_Reportbuilder, design-time events
_Reportdesigner


Runtime imrpovements
- Object oriented syntax
- More flexiblity with report chaining
- Output types (XML, HTML)
- Open architecture to plug-in 3rd party output engines
- Report processing events


- Erscheint zweites Halbjahr 2004
- Extramonate nach der Beta nur zu Stabilisierung (SP 1 ist also inklusive)