Visual FoxPro Readme
© 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.
Contents - Click any of
the items below
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:
MSDNä, the Microsoft Developer Network Readme.
Visual
FoxPro 6.0 Installation Notes
Known
Issues
Visual FoxPro Product Issues
Wizard Issues
Documentation Issues
Corrections to the Guidelines for Using Visual FoxPro Foundation Classes
Help Topic
Finding
More Information
Visual FoxPro 6.0 Installation Notes
Installing Samples
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.
Installing Online Documentation
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
lOn the Tools menu, click Options. l
lClick the File Locations tab. l
lSelect the Help File file type listed and click Modify. l
lWhile keeping the same path, replace Msdnvs98.col with Foxhelp.chm or use
the dialog button to locate Foxhelp.chm. l
lClick OK. l
lIf you want Foxhelp.chm to be your default for future Visual FoxPro sessions, click Set
As Default. l
lClick OK. l
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
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.
New Visual FoxPro and SQL Server ODBC Drivers
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.
Using Visual FoxPro 5.0 Files in Visual FoxPro 6.0
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 Issues
Visual FoxPro Product Issues
Active Documents
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.
Changes to Vfp6run.exe, the Visual FoxPro Runtime
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.
Changes to the Selected and SelectedId Properties
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.
Component Gallery Display Problems after Dragging an
Item
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.
Component Gallery Output to HTML
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 Help
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.
_SCREEN and the FormCount and Name Properties
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.
Tasmanian Traders Sample
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.
URL Combo Foundation Class
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
Application Wizard Help
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.
Application Wizard and HTML Output
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
Application Wizard - Adding Records to Empty Tables
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.
Application Wizard - Recompiling New Applications
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.
Form Wizard and the Maximum Design Area Setting
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.
Sample Wizard Installation
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.
SQL Server Upsizing Wizard Help
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
_BROWSER Help Topic
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'
Code Analyzer Help
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.
Corrections to the Guidelines for Using Visual FoxPro Foundation Classes
Help Topic
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( )
Duplicate Entries in the Error Messages A-Z Help Topic
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.
Distributing the Filer with Run-Time Applications
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.
Foundation Class AddProp Method Syntax Incorrect
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.
Foundation Class InsAitem Method Syntax Incorrect
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.
Genhtml.prg Syntax
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>] [,
HTML Help Sample Project Directory Changed
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.
HTML Item Dialog Box Description Incomplete
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."
Reserved Words
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.
Reserved Words
(
+
=>
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
SetData Method Help Topic
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.
What's New in Visual FoxPro 6.0
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.
Finding More Information
Frequently Asked Questions
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.
zanotowane.pldoc.pisz.plpdf.pisz.plteen-mushing.xlx.pl