Visual FoxPro "Sedna"
Sedna is a collection of libraries, samples and add-ons to Visual FoxPro 9.0 SP2.
Sedna is made up of six different projects:
You can download the RTM version of Sedna from Microsoft at:
Microsoft Visual FoxPro 9.0 "Sedna" Add-Ons
(Note: One or more Sedna components have updates here on VFPX.)
You can download DBI's Sedna ActiveX controls at:
VFP 9.0 SEDNA Components
Learn more about the Sedna tools in this special free edition of CODE Focus magazine:
Sedna: Beyond VFP9
If you have installed any of the previous Sedna CTPs or Beta, you will need to uninstall before installing the RTM of Sedna. The Sedna Setup installs the RTM components and source under the "Microsoft Visual FoxPro 9\Sedna" folder by default. It is
important to note that any changes made to the Sedna projects here on VFPX will not be included in the SednaSetup.msi available from Microsoft at the link above.
The VistaDialogs4COM is a collection of COM-visible classes that wrap the functionality provided by the Microsoft VistaBridgeLibrary. VistaDialogs4COM provides Visual FoxPro developers access to the Windows Vista TaskDialog and Common Dialogs.
Setup will install the VistaDialogs4COM assembly, the VistaBridgeLibrary and other required DLLs, the VistaDialogs4COM source. A sample VFP project demonstrating use of different features of VistaDialogs4COM is also included.
The VistaDialogs4COM folder contains the following:
- VistaDialogs4COM.dll -- DLL for the COM components that wrap VistaBridgeLibrary.
- VistaDialogs4COM -- Folder containing the VB.NET source code for VistaDialogs4COM
- VFP Sample -- Folder containing a VFP sample project that illustrates the use VistaDialogs4COM
VistaLibrary4COM requires Windows Vista. The API used are not available on earlier versions of Windows. The VFP Sample folder contains images that show the different dialogs and how they differ from the corresponding dialogs in earlier versions.
Latest Release of VistaDialogs4COM
SQL Server Upsizing Wizard
This is an update to the Visual FoxPro 9.0 SP2 Upsizing Wizard. The Sedna Upsizing Wizard will install to the "Microsoft Visual FoxPro 9\Sedna\UpsizingWizard" folder under Program Files. To launch the new wizard run the 'UpsizingWizard.app'
from this location.
This Sedna update release includes:
- Updated, cleaner look and feel
- Streamlined, simpler steps
- Support for bulk insert to improve performance.
- Allows you to specify the connection as a DBC, a DSN, one of the existing connections or a new connection string.
- Fields using names with reserved SQL keywords are now delimited.
- If lQuiet is set to true when calling the wizard, no UI is displayed. It uses RAISEEVENT() during the progress of the upsizing so the caller can show progress.
- Performance improvement when upsizing to Microsoft SQL Server 2005.
- Trims all Character fields being upsized to Varchar.
- BlankDateValue property available. It specifies that blank dates should be upsized as nulls. (Old behavior was to set them to 01/01/1900).
- Support for an extension object. This allows developers to hook into every step of the upsizing process and change the behavior. Another way is to subclass the engine.
- Support for table names with spaces.
- UpsizingWizard.APP can be started with default settings (via params) for source name and path, target db, and a Boolean indicating if the target database is to be created.
This update fixes several issues found by Matt Slay and Jim Nelson: the Upsizing Wizard didn't properly handle remote table and field names delimited with square brackets, nor did it automatically delimit names using reserved words such as "order".
It also didn't handle the rare case where TypeMap.dbf was missing.
This update fixes another issue found by Jim Nelson: the settings of CURSOSETPROP("FetchMemo"), SET PROCEDURE, and SET PATH weren't restored after running the Upsizing Wizard.
This update fixes a few bugs found by Jim Nelson: an error when BlankDateValue is set to NULL and NULLDISPLAY is blank, an error when SourceDB is a relative rather than full path, and a warning message when copying files for reporting purposes.
This update fixes a bug found by Matt Slay that caused the precision (decimals) of numeric fields to be incorrect.
This update removes the old license and readme files, which are no longer applicable.
This update fixes a bug, discovered and fixed by Jon Love, that caused a "variable not found" error in the BulkInsert method.
This update has the following bug fixes (thanks to Mike Potjer for finding and even fixing some of these issues):
- Upsizing a logical field to a bit field no longer causes an error when the table has a lot of records.
- You no longer get an error upsizing tables that have field rules, table rules, or triggers.
- Quotes in the content of fields are preserved.
- You no longer get a warning that 6.5 compatibility cannot be used.
This update has the following bug fixes (thanks to Mike Potjer for helping with these issues):
- Under some conditions, an error occurred while trying to clean up (specifically removing a working directory the wizard created, which may not be empty) after the wizard is done. This code is now wrapped in a TRY to avoid the error.
- A temporary DBF file wasn't deleted but its FPT was, causing an error if you tried to open it. The file is now deleted.
- A temporary file used for bulk upload wasn't erased when the wizard is done with it. It is now.
- One of the export mechanisms ("FastExport") used null dates rather than the defined date for blank VFP date fields. This was fixed.
- You are no longer told that the bulk insert mechanism failed when it in fact succeeds. This also resolves a problem with duplicate records being created.
- Under some conditions, the last few records in a VFP table weren't imported into the SQL Server table. This was fixed.
This update has the following bug fixes:
- Handles converting Memo to Varchar(Max)
- You can now change the date used in SQL Server for empty VFP dates in one place: SQLSERVEREMPTYDATEY2K in AllDefs.H
- One of the export mechanisms ("JimExport") used null dates rather than the defined date for blank VFP date fields. This was fixed.
- The progress meter now correctly shows the progress of the sending data for each table.
- A bug that sometimes caused an error sending the last bit of data for a table to SQL Server was fixed.
- You no longer get a "string too long" error when using bulk insert with a record with more than 30 MB of data.
- You can now use field names up to 128 characters; the former limit was 30.
Review article on CODE Magazine:
Latest Release of SQL Server Upsizing Wizard
project with update past the Sedna version)
This is an update to the Visual FoxPro 9.0 SP2 Data Explorer. Setup will install the Database Explorer to the "Microsoft Visual FoxPro 9\Sedna\DataExplorer" folder under Program Files. To launch the new wizard run the 'DataExplorer.app' from
This update includes:
Latest Release of Database Explorer
- Fixed drag and drop of VFP table from Data Explorer to a form.
- Fixed issue: "Drag/drop of VFP table/view from the Data Explorer to a form does not set the RecordSource."
- Fixed issue with free tables not showing their columns when expanding the node.
- Drag and drop operations now respect Field Mapping settings for SQL Server data
- Allows sorting to apply to specific objects, not all.
- Display SQL ShowPlan for local views
- Display ShowPlan information for VFP table/view queries in the query results
- Add Showplan parameter setting to the Options dialog, use in showplan features
- Context menu item to launch the new UpsizingWizard.
The NET4COM library is a collection of COM classes that wrap a subset of the .NET Framework 2.0. The .NET Framework is a rich collection of namespaces and API that provides a comprehensive set of functionality that developers can use to build applications that
run on the .NET platform. While VFP does have a rich library of API, there are some features that either do not exist in the VFP libraries or are harder to use than in the Framework. NET4COM brings together a small subset of the .NET Framework — a collection
of commonly used API that brings to VFP functionality that does not exist.
Setup will install the NET4COM assembly with sample files to disk. Setup will also register the COM components in NET4COM.dll. The NET4COM folder contains the following:
- NET4COM.dll -- The DLL for the COM components that wrap a subset of the .NET Framework 2.0.
- Source -- Folder containing project file and source code for NET4COM
- VFPSamples -- Folder containing VFP sample code that uses NET4COM
- VB6Samples -- Folder containing VB6 sample code that uses NET4COM
- FFC -- FFC wrappers for NET4COM
The samples demonstrate use of NET4COM from Visual FoxPro or Visual Basic 6.0.
Latest Release of NET4COM
MY for VFP
The MY library for Visual FoxPro is similar to NET4COM. MY is implemented natively for Visual FoxPro and like NET4COM exposes commonly used functionality in a hierarchy that is easy to discover and navigate. Setup will install the MY library and related files
in the "MY" folder under the selected install destination.
To install MY into Visual FoxPro:
- Browse to the MY folder
- Run MY.APP
The MY folder contains a help file: MY.CHM that describes, setup and usage of MY and includes the API reference for the different APIs.
Learn more about My in this Code Magazine article by Doug Hennig:
The following issues were fixed:
- Settings.Load no longer strips leading and trailing spaces from string settings
- My now works properly when SET ANSI is ON
- The Destroy methods of various classes no longer clear any Windows API functions they declare to prevent problems with other classes that also use those functions (thanks to Rick Borup for reporting this issue)
The following issues were fixed:
Latest Release of MY for VFP
DDEX for VFP
- MyBuilderForm: fixed typo in TooltipText for edtList, added TooltipText to edtScript, Init now finds a record for a class without cNameSpace property and not always create a blank cursor
- MyFoxCode: OpenMyTable saves the setting of DELETED and turns it ON, Destroy restores the setting of DELETED
- InstallMy.PRG: GetScriptCode uses SYS(16,1) rather than SYS(16) so it works correctly when called from an app
- Settings: Load and Save now handle date and datetime values as well as empty strings or those greater than 254 bytes long, Add throws an error if the specified property name isn't valid
This is the Visual FoxPro DDEX (Data Designer EXtension) Provider for Visual Studio 2005.
DDEX allows Visual Studio to work better with Visual FoxPro data sources. It exposes VFP metadata to the data designers within Visual Studio, thus enabling common design tasks like dragging and dropping tables from Server Explorer to Visual Studio designers.
Before using, the DDEXProvider must be installed. DDEX requires Visual Studio 2005 to be installed. Note that it does NOT work with Visual Studio 2008 or later versions, although it does come with source code so that could be changed.
The version released with Sedna included a license key that expired in March 2008, meaning you couldn't use it if you installed it after that date. On March 4, 2009, Microsoft released an updated version that has a non-expiring license key. This version
also simplifies installation.
After installing this updated version, you must run RegDDEX to register the VFP DDEX Provider with Visual Studio 2005.
RegDDEX must be run as an Adminstrator. Start the Windows Command Prompt as Administrator.
To register the DDEXProvider:
- Change the folder to 'DDEXProvider' under the Sedna folder
- Run RegDDEX
To unregister the DDEXProvider
- Change the folder to 'DDEXProvider' under the Sedna folder
- Run RegDDEX /u
Once registered, Visual FoxPro will appear as one of the data source types that can be selected in the Connection Dialog of Visual Studio.
Latest Release of DDEX for VFP