© 1998 Microsoft Corporation. All rights reserved.
Other product and company names herein may be the trademarks of their respective owners.
Visual FoxPro® Readme includes updated information for the documentation provided with Microsoft® Visual Studio -- Development System for Windows® and the Internet. The information in this document is more up-to-date than the information in the help system. Many of the issues outlined in this document will be corrected in upcoming releases.
Note Be sure all headings in the table of contents below are expanded when you search this Readme for a topic. This way you'll know when the search finds the topic among the table of contents headings.
Visual Studio 6.0 General Installation Notes
For general installation issues on the Visual Studio 6.0 suite of products, including side by side product installation, see the Installation Notes readme (install.htm).
For other issues on the Help system of the Visual Studio suite of products, go to:
Installing Online Documentation
New Visual FoxPro and SQL Server ODBC Drivers
Visual FoxPro Product Issues
Changes to Vfp6run.exe, the Visual FoxPro Runtime
Changes to the Selected and SelectedID Properties
Component Gallery Display Problems after Dragging an Item
Component Gallery Output to HTML
Highlighting and Copying Code Examples from Help
Wizard Issues
Application Wizard and HTML Output
Application Wizard - Adding Records to Empty Tables
Application Wizard - Recompiling New Applications
Documentation Issues
Corrections to the Guidelines for Using Visual FoxPro Foundation Classes Help Topic
Duplicate Entries in the Error Messages A-Z Help Topic
Distributing the Filer with Run-Time Applications
Foundation Class AddProp Method Syntax Incorrect
Foundation Class InsAitem Method Syntax Incorrect
HTML Help Sample Project Directory Changed
The samples for Visual FoxPro 6.0 are now installed with MSDN, the Microsoft Developer Network. The MSDN setup is located in a separate subfolder called MSDN. Open the folder and double-click Setup.exe to run the MSDN Installation Wizard. Choose the Custom option and select the VFP Samples check box.
The samples are placed in the common MSDN samples location. You can access this location programmatically by using the _SAMPLES system variable or by executing the HOME(2) command.
The online documentation for Visual FoxPro 6.0 is now installed using MSDN setup. The MSDN setup is located in a separate subfolder called MSDN. Open the folder and double-click Setup.exe to run the MSDN Installation Wizard. Choose the Custom option and select the VFP Documentation check box. If you select the Typical option, Visual FoxPro will have to access help files from the MSDN CD instead of your hard disk.
The Visual FoxPro help files (including Foxhelp.chm) are installed at the following location:
drive:\Program Files\Microsoft Visual Studio\Msdn98\98vs\1033
When you ask for help from within Visual FoxPro by pressing F1, typing HELP in the Command window, or by using the help menu, the default behavior is for Visual FoxPro to call Msdnvs98.col if full MSDN is installed. If this file does not exist, then Foxhelp.chm is used by default. If you are experiencing problems using Msdnvs98.col, you can redirect the Visual FoxPro help system to use Foxhelp.chm:
To set help to Foxhelp.chm
Note If you set help to Foxhelp.chm, you may receive a "Topic Not Found" error when you attempt to jump to topics outside of the Visual FoxPro Foxhelp.chm help file. To jump to topics outside of Foxhelp.chm (for example, Visual Basic and Visual C++ help topics), set the help file to Msdnvs98.col.
Updates for Visual FoxPro components and Xbase pieces are often posted to the Microsoft Visual FoxPro web site http://www.microsoft.com/vfoxpro. It is a good idea to check this site for updates, especially after product installation and release of other Microsoft system and core technologies that may affect the product. These updates often address known issues, improve performance, and contain highly requested enhancements.
For this release, new Visual FoxPro and SQL Server ODBC drivers (VFPodbc.dll and SQLsrv32.dll) are installed, overwriting your existing ODBC drivers. Before installing this release with the latest version of these drivers, you might first want to make a copy of your existing drivers.
If you don't want your existing drivers replaced by potentially problematic new versions, choose the Custom setup option and uncheck the ODBC Files check box.
Any .fll files (FoxPro link libraries) you create for Visual FoxPro 5.0 will work unchanged in Visual FoxPro 6.0. Because of menu changes in Visual FoxPro 6.0, you may need to recompile your Visual FoxPro 5.0 applications if your source code references system menus. In addition, you may need to recompile code from previous betas of Visual FoxPro 6.0.
Additionally, we have added strict date checking to ensure Year 2000 compliance in your applications. If your applications utilize any ambiguous dates, you may need to disambiguate these dates or SET STRICTDATE to 0 to allow ambiguous (and possibly non-compliant) dates to exist in your applications.
New versions of popular ActiveX controls, such as Treeview and Listview, are included in this release. These controls are now stored in the new Mscomctl.ocx file. Your existing forms will continue to function correctly with the original ActiveX controls that are in Comctl32.ocx. Since both files can reside on your machine, you can choose to install either version of a control.
See the Vfp6FAQ.txt file in the main Vfp98 directory for more details on these and other compatibility issues.
Known IssuesVisual FoxPro Product Issues
The Vfp6run.exe runtime doesn't release from memory when a Visual FoxPro application with its ContainerReleaseType property set to 1 (Don't show the Visual FoxPro main window) terminates when it falls out of the Internet Explorer cache. Vfp6run.exe doesn't release from memory until Internet Explorer 4.0 is terminated. This is an Internet Explorer 4.0 issue and may be resolved in a future release of Internet Explorer.
Vfp6run.exe, the Visual FoxPro runtime, has been enhanced to make it easier to set security settings for Active Documents. New arguments have been added, allowing you to display the About Microsoft Visual FoxPro Runtime dialog box. The Application Security button in this dialog lets you specify the security settings for Active Documents and other application (.app) files.
In addition to using the /security argument (Vfp6run.exe /security), you can use the new /? or ? arguments, or you can omit the arguments. Note that the Application Security button isn't displayed on the About Microsoft Visual FoxPro Runtime dialog box when the dialog box is displayed from a Visual FoxPro .exe distributable application.
A value of 10 is passed to the CommandTargetExec event when an Active Document is hosted in Microsoft Internet Explorer 4.0 and you choose Properties from the File menu. Return a value of 0 from the CommandTargetExec event to suppress display of the About Microsoft Visual FoxPro Runtime dialog box or to display your own dialog box.
For more information about Vfp6run.exe and Active Documents, see "Active Documents" in Chapter 31, "Interoperability and the Internet" in the Microsoft Visual FoxPro 6.0 Programmer's Guide. The Programmer's Guide is included in the Visual FoxPro online documentation.
Programmatically changing the value of the Selected or SelectedId properties in Visual FoxPro 6.0 now causes the ProgrammaticChange event to occur. In previous versions of Visual FoxPro, the ProgrammaticChange event did not occur when the value of the Selected or SelectedId properties were programmatically changed.
If you drag an item in the right pane of the Component Gallery, the folder in the left pane containing the item you drag may stay selected even after you select a different folder in the left pane. This is a known issue with the ActiveX control the Component Gallery uses, and may be corrected in an upcoming release. The ActiveX control will work as expected even if the incorrect folder appears selected in the left pane.
If you add a table to the Component Gallery, right-click the table, and then choose Output to HTML, no HTML output is created. To create HTML output for a table, open a Browse window for the table (with the BROWSE command or by choosing Browse from the View menu), and then choose Save As HTML from the File menu.
You can also fix this problem with the following steps:
1. Enter the following command in the Command Window:
MODIFY CLASS _dataitem OF (HOME( ) + "gallery\vfpglry.vcx") METHOD makehtml
2. Change the following line of code in the method:
DO (_GENHTML) WITH "", ALIAS( ), 5
to this:
DO (_GENHTML) WITH "", ALIAS( ), 2
3. Save and close the class.
Highlighting and copying code examples from online help topics may result in incorrect placement of carriage returns. This may occur if you copy portions of the examples. If you exclude either the first or last line of code in any example, the code example will not be able to run.
To ensure that copied code examples contain proper line formatting, highlight and copy the entire code example, including the first and last line.
At design time in Visual FoxPro 6.0, the FormCount and Name properties return different values for _SCREEN than those in Visual FoxPro 5.0. Visual FoxPro 6.0 doesn't include the designers (the Form Designer, the Report Designer, and so on) in the _SCREEN.Forms collection, so the FormCount property isn't incremented for each Visual FoxPro designer that is open. Because Visual FoxPro 6.0 doesn't include the designers in the _SCREEN.Forms collection, querying the Name property for the _SCREEN.Forms collection can cause an error.
The AMOUSEOBJ( ) function can be used in a work-around to determine the current designer.
The Tasmanian Traders sample generates an error when you create a new customer record in the Order Entry dialog, choose an existing customer, and then choose Save.
To prevent this error, first change the line "#DEFINE DEBUGMODE .T." to "#DEFINE DEBUGMODE .F." in tastrade.h. Tastrade.h is located in the Include directory off of the Tastrade directory. Then rebuild the Tasmanian Traders sample application. To rebuild the sample application, open the Tasmanian Traders project, tastrade.pjx, choose Build, choose Build Application and Recompile All Files, and then choose OK.
If you include the URL Combo foundation class in your applications, you should make the following changes to the _URLCombobox class in the _internet.vcx class library to allow longer URLs to be entered in the combo box:
1. Change the DisplayCount property to 32.
2. Change the InputMask property to =REPLICATE('X', 254)
Wizard Issues
When you run the new Application Wizard, help is automatically displayed with the Application Builder when a new framework is generated. After you become familiar with the process of building an application using the new framework, you can disable help so that it doesn't automatically appear. Set the lSkipAssist property in the Appbldr.scx form file in the Wizards directory to true (.T.) to prevent help from being automatically displayed.
The framework generated by the Application Wizard automatically provides a variety of output and reporting options when you print reports. If you want your custom application to allow for output as HTML, you will need to include in your project the file Genhtml.prg (located in the main Visual FoxPro directory) and the following files in the FFC directory:
_Html.vcx
_Html.vct
_Html.h
Runcode.prg
You can modify the _Output class in Reports.vcx in the FFC directory to include EXTERNAL commands (for example, EXTERNAL PROCEDURE Genhtml.prg) to have the project automatically include necessary files during builds for future use.
To disable the HTML output option, you can modify the SetDestinations method in the _Output class. To do so, preface the OUTPUT_HTMLFILE_LOC constants at the bottom of the routine with a backwards slash (\) as in the following example:
THIS.aDestinations[liHTMLFile,1] = "\"+OUTPUT_HTMLFILE_LOC + lcSourceAlias
There is a known issue where applications generated by the Application Wizard do not add new records to empty tables. When you use the Data tab of the Application Builder to add a new database with the Database Wizard button, you can optionally generate a new database with empty tables (using a checkbox on the last step of the Wizard).
If you then choose to generate forms for these empty tables in the Data tab, the Form Wizard generates new forms that don't automatically add records to a table when used in the application framework, such as through the New option on the File menu.
You can fix this problem with the following steps:
1. Enter the following command in the Command Window:
MODIFY CLASS baseform OF (HOME( ) + "wizards\wizbase.vcx") METHOD pickrecord
2. Change the following line of code in the method:
IF GETFLDSTATE(1) # 3
to this:
IF GETFLDSTATE(1) # 3 OR RECCOUNT( )= 0
3. Save and close the class.
After you create a new application with the Application Wizard, you should recompile the new application. To recompile the new application, open the project created for the new application in the Project Manager and choose Build. In the Build Options dialog box, choose Build Application, choose the Recompile All Files check box, and then choose OK.
If you run your new application without first recompiling it, the error message "File not found - _app" may be generated.
The Form Wizard generates an error if the Maximum Design Area setting on the Forms tab of the Options dialog box is set to None. To prevent this error, select any of the other Maximum Design Area settings (for example, 800 x 600) and then choose Set As Default.
The Sample Wizard, described in detail in the Visual FoxPro Help file, isn't installed by default. The files for the Sample Wizard are located in the XSource.zip file in the \Tools\Xsource directory. This directory is located off of the Visual FoxPro home directory.
Note The XSource.zip file in the \Tools\Xsource directory also contains the source code for the Wizards and the Coverage Profiler.
In the online documentation, the description of Null Mapping in the SQL Server Upsizing Wizard: Step 8 Set Upsizing Options help topic is incomplete. The following paragraphs should be added to the Null Mapping section in this topic.
The SQL Server Upsizing Wizard contains a new option in Step 8 called Null Mapping. The Null Mapping option helps to ensure that insert and update commands against remote data will succeed. This option allows you to override the existing null setting fields in your Visual FoxPro tables being upsized. If you choose the General and Memo fields option, then all general and memo fields in your selected Visual FoxPro tables will be upsized with these fields set to allow nulls.
There are differences in how Visual FoxPro SQL commands such as INSERT and UPDATE affect local and remote data depending on the null settings for fields. For example, if you have an INSERT command that does not include all the fields in a table, Visual FoxPro inserts blanks into the unspecified fields for local data. If the INSERT command is issued for a remote view (SQL Server data), then nulls are inserted into the fields not specified in the command. The command will fail if any one of these fields do not support nulls. It's fairly easy to write an INSERT command which includes all the fields and values to be inserted. Note, however, that inserting content into a general field is a little more cumbersome.
Documentation Issues
In the online documentation, the next to last paragraph in the _BROWSER help topic describes how you can run the class browser for a specific visual class library or an object reference, and optionally include the name of a class that is initially selected. The example code that follows this paragraph contains the wrong path to Buttons.vcx. The example code should be replaced with the following:
DO (_BROWSER) WITH HOME(2) + 'CLASSES\BUTTONS.VCX', 'VCR'
Pressing F1 to display help in the Code Analyzer doesn't display the help topics for the Code Analyzer Symbols or Hierarchies tabs. To display the help topics for these tabs, choose the Index tab in HTML Help, type Code Analyzer in the keyword text box, and press Enter. Choose the help topic for the appropriate tab.
In the online documentation, the Guidelines for Using Visual FoxPro Foundation Classes help topic is missing text in the note in the Non-Visual Foundation Classes section. The Note should read "This example assumes that the code can locate the _utilities.vcx class library or can be run from an .app file that is built containing _utilities.vcx."
Also, quotation marks are missing from two sample code examples in this topic. In the Non-Visual Foundation Classes section, replace the following code:
LOCAL oFileVersion
oFileVersion = NewObject(_fileversion, _utilities.vcx)
WITH oFileVersion
.cFileName = HOME( )+ 'VFP6.EXE'
.GetVersion( )
.DisplayVersion( )
ENDWITH
with the following code:
LOCAL oFileVersion
oFileVersion = NewObject('_fileversion', '_utilities.vcx')
WITH oFileVersion
.cFileName = HOME( )+ 'VFP6.EXE'
.GetVersion( )
.DisplayVersion( )
ENDWITH
In the Visual Foundation Classes section, replace the following code:
LOCAL oAbout
oAbout = NewObject(_aboutbox, _dialogs.vcx)
oAbout.Show( )
with the following code:
LOCAL oAbout
oAbout = NewObject('_aboutbox', '_dialogs.vcx')
oAbout.Show( )
In the online documentation, the table of error messages that start with the letter "V" contains duplicate entries in the Error Messages A-Z help topic. However, clicking any of these error message links will display the proper error message topic.
The Filer.dll Help topic states that Filer.dll and its companion files are for use with Visual FoxPro only, and you are not permitted to distribute any of these files with your distributed run-time applications. This is incorrect. You can distribute Filer.dll and its companion files (Filer.ico, Filer.scx, and Filer.sct) with your distributed Visual FoxPro 6.0 run-time applications. Filer.dll and its companion files are located in the Filer directory off of the Tools directory. Note that these files are unsupported - technical support is not available for problems encountered when using these files.
Redist.txt, located in the Visual FoxPro home directory, contains a list of files you can distribute with your run-time applications. Filer.dll, Filer.ico, Filer.scx, and Filer.sct should be added to Redist.txt.
The syntax for the AddProp method in the Visual FoxPro 6.0 _webbrowser4 Web Browser Control foundation class is incorrect. The following is the proper syntax with a description of each parameter:
Syntax
AddProp(oObject, cProperty, tuValue)
Arguments
cProperty specifies the object to which the property is added.
sContents specifies the name of the property.
tuValue specifies the value to assign to the property.
See the Web Browser Control online help topic for more information about the _webbrowser4 Web Browser Control foundation class and the AddProp method.
The syntax for the InsAitem method in the Visual FoxPro 6.0 _arraylib Array Handler foundation class is missing an optional fourth parameter. The following is the proper syntax with a description of each parameter:
Syntax
InsAitem(@aArray, sContents, iRow [, lAllElements])
Arguments
aArray specifies the name of the array being processed.
sContents specifies a string value to be added to aArray.
iRow specifies the row in which to insert the value in sContents.
lAllElements, if true (.T.), sets all elements in iRow to sContents.
See the Array Handler online help topic for more information about the _arraylib Array Handler foundation class and the InsAitem method.
In the online documentation, the order of the parameters you can pass to Genhtml.prg are incorrect in the Genhtml.prg help topic. The following is the correct syntax:
DO (_GENHTML) WITH <cOutFile> <cSourceFile> [, <nShow>] [, <vIELink>] [,
In the Visual FoxPro online documentation, Chapter 32 in the Programmer's Guide states that a sample HTML Help project is included in the directory ...\Samples\Vfp98\Solution\Help. This directory doesn't exist.
The HTML Help project and its files are in a .zip file, Solnhlp.zip, located in the Tools\XSource directory in the directory in which Visual FoxPro 6.0 is installed.
In the online documentation, the HTML Item dialog box description (the first line in the topic) is incomplete. The first line should read "Enables you to specify additional items and their attributes for the Web page you create."
Many of the Visual FoxPro reserved words are not included in the Reserved Words online help topic. The following table lists the additional reserved words that should appear in the Reserved Words help topic.
( | + | => |
ADDBS | AGETCLASS | AGETFILEVERSION |
ALINES | AMOUSEOBJ | ANETRESOURCES |
AVCXCLASSES | BARCOUNT | BARPROMPT |
BOF | COMARRAY | COMCLASSINFO |
COMRETURNERROR | CREATEBINARY | CREATEOBJECTEX |
CTOBIN | CURSORGETPROP | CURSORSETPROP |
DBGETPROP | DBSETPROP | DEFAULTEXT |
DRIVETYPE | FILETOSTR | FLDCOUNT |
FONTMETRIC | FORCEEXT | FORCEPATH |
FSEEK | FTIME | GETHOST |
GETPEM | HOME | INDEXSEEK |
ISBLANK | ISHOSTED | ISMOUSE |
JUSTDRIVE | JUSTEXT | JUSTFNAME |
JUSTPATH | JUSTSTEM | LIKEC |
MRKPAD | PADPROMPT | PCOUNT |
PEMSTATUS | SQLCANCEL | SQLCOLUMNS |
SQLCONNECT | SQLDISCONNECT | SQLEXEC |
SQLGETPROP | SQLMORERESULTS | SQLPREPARE |
SQLSETPROP | SQLSTRINGCONNECT | SQLTABLES |
STRTOFILE | TAGCOUNT | TAGNO |
VARTYPE | WINDOW |
In the online documentation, the Remarks section of the SetData Method help topic states that the SetData method can only be executed in the OLEStartDrag event. This is incorrect -- the SetData method can be executed in the OLEStartDrag event and the OLESetData event.
To find out about the features that are new to Visual FoxPro 6.0, see the "What's New in Visual FoxPro 6.0" topic in the Visual FoxPro online documentation.
Included with Visual FoxPro is a file called Vfp6FAQ.txt which contains answers to questions often asked about Visual FoxPro. Vfp6FAQ.txt is installed in the main Vfp98 directory.