November News Letter - November 30
A new update is available. There is new exciting functionality available, with this release we are now into Beta Mode. We are using the compiler thoroughly so we know it is in beta state, this coupled with the enhancements in the Data Front make us the best solution for .NET in Data Handling.
The major features are:
- ASP.NET you can code ASP.NET pages in VFP language!
- C# and VB.NET language conversion to VFP
- Data Session support
- & Macro support now available!
- SQL Passthrough
- CursorAdapter is debuting
- Generalizated tables
- Generalizated Indexes
- VFP forms enhancements including Data Environment functionality for automatically opening your tables.
- Table 64 Layer enhancements
ASP.NET support
Now you can code ASP.NET pages in VFP. For example you can design your WebPage and use FoxPro to handle the events.
A new Visual Studio 2005 sample FoxWeb, shows this functionality. This is an early look about the capabilities coming: You will be able to Design Winforms, ASP.NET pages and have Intellisense inside Visual Studio.
C# and VB.NET languageconversion to VFP
Derived from our work with the CodeDom support needed for ASP.NET and Winforms design support, now we can convert your C#, VB code to FoxPro language. We actually are shipping a program named VFP-Translator.exe that lets you perform the conversion. This program is located in the Bin folder.
This is very useful if you have a sample in C# or VB.NET and want to see how it will be implemented in VFP.NET.
With this new functionality you can convert to VFP and use all the power available in Data Handling, Dynamic Typing, powerfull OOP model and all the other advantages you have in the FoxPro language.
This translator will be online and we'll be improving it to handle more complex constructs than those available in the System.CodeDom
Data Session support
Now you can open the same form several times as you did in VFP and have every form using a separated DataSession. This makes working with VFP forms compiled to .NET a lot easier.
& Macro support
This old friend is now available. This was a hard one to achieve!. Right now the functionality available is like this:
cMacro = "some command"
&cMacro
This means all the dynamic capabilities available in Visual Foxpro are indeed coming to .NET. For the next updates we'll be improving the macro support to work in scenarios like SCAN &cmacro and more.
SQL Passthrough
Almost all the SQL Passthrough functions are debuting this month:
- SQLConnect, SQLStringConnect, SQLTables, SQLColumns, SQLCancel, SQLDisconnect, SQLExec, SQLPrepare, SQLCommit, SQLSetProp, SQLGetProp
- Also new extensions available now are SQLSchema and SQLUseDataTable(oDataTable, "AliasName",oDBConnection). This latter let you use any .NET DataTable as if it was a VFP table including SCANNING, INDEXING, REPLACING and more. It feels like if it was a VFP table only that now it is orders of magnitude easier to work with and more powerful.
And while in Visual FoxPro the SQL Functions only works with ODBC sources in the .NET Version we have improved them to work with ODBC as always and also with any .NET provider.
So to connect to a POSTGRESQL source in ODBC you use:
nHandle = SQLStringConnect("DSN=PostgreSQL ANSI;DATABASE=postgres;SERVER=localhost;PORT=5432;SSLMODE=prefer;")
And to connect to an ADO.NET Factory for example SQLServer you will use this syntax in the string connection
nHandle = SQLStringConnect("ado.net:System.Data.SqlClient:Your string connection for ado.net")
And if you already have a ADO.NET DBConnection object you can use it as this:
nHandle = SQLConnect(oAdoNetConnection)
And of course to have this functionality working the functions TABLEUPDATE(), TABLEREVERT(), GETNEXTMODIFIED(), OLDVAL() are available now.
We are working a lot in this functionality and we request your help testing this new functionality with DataSources as SQL Server, ORACLE, PostgreSQL and MySQL.
To have this functionality in .NET enable easy table access to all the .NET Providers. And we are just starting: in the next revisions we'll enable even more DataSources accessibles from VFP. Our design allows for any datasource not just ADO.NET so expect big improvements coming in this area.
CursorAdapter now in .NET
The cursor adapter is debuting in .NET those are early bits and used mainly to support CURSORSETPROP, CURSORGETPROP and now works with ANY ADO.NET source in addition to ODBC. It is really more powerful than anything available in .NET and we are just starting with it.
Generalizated tables
The ability to host an ADO.NET DataTable like if it was a VFP table showcase a powerful capability available in the runtime: You can build your own Table Representation with only few lines and you get automatically: SCAN, LOCATE, REPLACE, INDEX, BUFFERING and all the VFP stuff and this way you can have really Powerful Fast Data Access.
This is just the first implementation in the pipeline are Table Layers for other things as .NET Collections, .NET Enumerables and yes LINQ Results so you will be able to treat al those as VFP tables and use the powerful Visual FoxPro language to handle any data source you can imagine.
Generalizated INDEXES
The Index functionality has been extended to work with any data source this give you blazingly fast access to any data source as mentioned above.
This is a crucial step to enable Index based Optimizations so operations like
- LOCATE FOR IndexExpression = nConstant or SCAN
Will run at full speed! and this is cornerstone to optimize SELECT SQL that will be coming of course to .NET as you could expect.
VFP Forms in .NET enhancements
Now DataSession is available together with DataEnvironment so your tables can open and close automatically as in Visual FoxPro. There is a couple of issues when the CursorSource is in a different path at design time that at runtime. VFP automatically solves the path locations we are not just there but this will come soon.
Also the CommandGroup control is available and working like in VFP.
Table64Layer enhancements
The Table64Layer that works with more than 1000 fields and huge tables is getting better in every release lots of new functions related to INDEX are debuting this month as CDX(), TAGCOUNT(), KEY(), FOR(), DESCENDING(), ORDER(), KEYMATCH(), INDEXSEEK() and more.
Other improvements
Several new functions are implemented. We are getting closer to VFP Runtime completion and this has maximum priority for us, specially anything related to Data Access.
Check the current implemented functionality to see the new functions available.
A new update will be out near Christmas so more improvements are coming and those are related to Data Access functionality.
It is really amazing to be building all this in Visual FoxPro itself compiled to .NET!
Thanks for your support!
Samuel David