                       README.TXT
**********************************************************
                   Release Notes for
 
    Microsoft(R) FoxPro(R) for Windows(TM) Version 2.5a

    (C)1993 Microsoft Corporation. All Rights Reserved.

Information in the FoxPro online Help is more current than
information in the printed documentation. This README
provides information not contained in the FoxPro online
help or documentation, and provides corrections to both.
**********************************************************
========
CONTENTS
========

Part   Description
----   -----------

1      How to View Accented Characters in this README
2      Sample Files and FoxTools Documentation
3      New Commands and Functions
4      _MEMVARMASK
5      New Transporter and Screen Directives
6      MODIFY COMMAND/FILE/MEMO Enhancements
7      WAIT...WINDOW Enhancements
8      International and Cross Platform Recommendations
9      Documentation Corrections
10     Installation Questions and Answers
----------------------------------------------------------
======================================================
Part 1: How to View Accented Characters in this README 
======================================================

This README file contains accented characters. To properly
display these accented characters, open this README in the
Notepad text editor included with Microsoft Windows or in
the FoxPro for Windows text editor with an ANSI font
(Courier, FixedSys, MS Sans Serif and so on).
----------------------------------------------------------
===============================================
Part 2: Sample Files and FoxTools Documentation
===============================================

Sample files and the FoxTools library documentation are
included with FoxPro for Windows. These files are in the
FOXPROW\GOODIES subdirectory and are installed in a
compressed form to save hard disk space. To unpack these
files, open the File Manager and double-click
ALLUNPAK.BAT in the FOXPROW\GOODIES subdirectory.

ALLUNPAK.BAT creates a FOXTOOLS subdirectory that contains
FOXTOOLS.WRI, the documentation for the FoxTools library,
and sample programs that utilize the FoxTools library.

Note: You may use the bitmaps in GOODIES\BITMAPS or
modified versions of them in your applications. However,
you cannot make and sell copies of the bitmaps or any
portion of the bitmaps contained in the GOODIES\BITMAPS
subdirectory.
----------------------------------------------------------
==================================
Part 3: New Commands and Functions 
==================================

Several commands and functions are new to
FoxPro 2.5a. For additional information about these
commands and functions, see the "International and Cross
Platform Recommendations" section below and the
corresponding topics in Help.

New Commands
------------

SET NOCPTRANS
SET COLLATE

New Functions
-------------

CPCURRENT()
CPDBF()
CPCONVERT()
IDXCOLLATE()
----------------------------------------------------------
===================
Part 4: _MEMVARMASK 
===================

Menus you created in FoxPro 2.5 that included 
expressions may not have behaved properly when the spell
checker or graph wizard were active.

SKIP FOR expressions typically depend on the value of
skip variables, but the skip variables were not visible to
your menus when the spell checker or graph wizard was
active in FoxPro 2.5. In the initialization code of the
spell checker and graph wizard applications (SPELLCHK.APP
and GENGRAPH.APP respectively), PRIVATE ALL is
intentionally issued. This hides skip variables from
user-defined menus and causes a "Variable not found" error
when you make a menu choice.

To correct this situation in FoxPro 2.5a, the following
code is added to the beginning of the spell checker
and graph wizard applications:

IF TYPE("_memvarmask") = "C" and !EMPTY(_memvarmask)
    PRIVATE ALL EXCEPT &_memvarmask
ELSE
    PRIVATE ALL
ENDIF

Suppose a certain menu option should be skipped when the 
memory variable named "skipvar" evaluates to true. In
FoxPro 2.5a you should include the following lines in your
menu startup code to take advantage of the _MEMVARMASK
variable:

PUBLIC _memvarmask  
_memvarmask = "skipvar"   
STORE .T. TO skipvar             && Skip initially.

To create a set of skip variables, include the following 
lines in your menu startup code:

PUBLIC _memvarmask  
_memvarmask = "skip*"   
STORE .T. TO skipthis, skipthat  && Skip initially.

When you execute the spell checker and graph wizard, they
don't hide variables in SKIP FOR expressions, preventing 
the "Variable not found" errors you may have experienced 
in FoxPro 2.5.

Note that _MEMVARMASK isn't a system memory variable.
----------------------------------------------------------
=============================================
Part 5: New Transporter and Screen Directives 
=============================================

Several new Transporter and screen directives have been
added.

The #DOSOBJ, #MACOBJ, #UNIXOBJ and #WINOBJ  
Transporter directives allow you to transport objects
created in the Screen Builder and Report Writer to 
specific FoxPro platforms. For additional information 
about these Transporter directives, see the Transporting 
Files topic in Help.

#TRAN SNIPPET ONLY, a new screen directive, is available
in FoxPro 2.5a. This screen directive affects how screen
objects are transported, and is not discussed in Help.
#TRAN SNIPPET ONLY is designed to limit the Transporter's
changes to just screen snippets, and is placed in
a screen's Setup snippet.

When screen objects are transported to a different FoxPro
platform, only the screen snippets for updated screen
objects are transported if #TRAN SNIPPET ONLY is included.
All other screen object attributes are not transported to
the different platform. 

Note that #TRAN SNIPPET ONLY only affects updated screen
objects; it does not affect new or unchanged screen
objects or screen objects being transported for the first
time.
----------------------------------------------------------
===============================================
Part 6: MODIFY COMMAND/FILE/MEMO Enhancements 
===============================================

A new option, NOMENU, is available in FoxPro for Windows
for the MODIFY COMMAND, MODIFY FILE and MODIFY MEMO commands.
If you include NOMENU, the Text menu pad is removed from the 
FoxPro System menu bar, preventing changes to the font, 
font size, line spacing and indentation. The spell checker 
is also not available.
----------------------------------------------------------
================================
Part 7: WAIT WINDOW Enhancements 
================================ 

WAIT WINDOW now supports multiple line messages. Use a
carriage return (CHR(13)) to move portions of your message
to additional lines. The message window is automatically
expanded to accommodate the additional lines. For example,
this command creates a message window that contains two
lines:

WAIT WINDOW "This is the 1st line" + CHR(13) + ;
    "This is the 2nd line"

The width of the message window is adjusted to fit the
longest line in the message. All lines in the message are
left-justified in the message window. Line feeds (CHR(10))
following CHR(13) are ignored.
----------------------------------------------------------
=========================================================
Part 8: International and Cross Platform Recommendations 
========================================================= 

                   *** IMPORTANT ***

*******************************************************
*  Be sure to read this section completely before you *
*  change code pages or collation sequences!          *
*******************************************************

Overview of topics

1   FoxPro Collation Sequences
2   Case-Insensitive Collation Sequences
3   Case-Sensitive Collation Sequences
4   How do the SEEK and SKIP commands work?
5   Alternatives to SEEK and SKIP
6   Additional Recommendations
7   New Code Pages
8   CPZERO Program
9   Corrections to the Help File

FoxPro 2.5a gives international developers and users
powerful new features for handling accented characters
across different FoxPro platforms, and provides 
accurate sorting in many languages.

For international FoxPro users, this section describes
how code pages and collation sequences affect sorting,
seeking and comparisons using the SORT and SEEK commands,
and also provides recommendations for taking advantage
of these features.

U.S. FoxPro users whose applications don't contain
accented characters may not need any of the new
international 2.5a features. In this case, you can
disregard this section of the README and the
International/X-Platform topic in Help. FoxPro 2.5a is
100% percent compatible with FoxPro 2.5.  

1 FoxPro Collation Sequences
----------------------------

With a MACHINE collation sequence, which earlier FoxPro
versions use (and to which FoxPro 2.5a still defaults),
each character in the code page, whether it's a Roman
character, an accented character, or a line-drawing
character, has a unique "sort weight" determined by its
position in the code page. In a majority of code
pages, all accented characters appear after the unaccented
characters. In this situation an ä sorts after z, which
isn't correct in most languages (although it is true in
Swedish, for instance).

Furthermore, in most languages accented characters sort
after their unaccented counterparts, but only if the
unaccented versions of all characters being compared are
the same. For example, in German, ä sorts after the
unaccented a, but the string äa sorts before the string ab
because the second character a is less than the second
character b. In this way, characters are interleaved in
many cultures.

FoxPro 2.5a supports a number of new collation sequences
to correctly sort in many languages. These sequences take
into account all the complex rules of the language
(including two-to-one, three-to-one and one-to-two
mappings). The following collation sequences were
available when this README was created. The code pages
for which these collation sequences are defined are also
included.

Collation Sequence     Code Pages
------------------     ----------
CZECH                  852, 1250
DUTCH                  437, 850, 1252
GENERAL                437, 850, 852, 865, 1250, 1252
HUNGARY                852, 1250
ICELAND                437, 850, 1252
MACHINE                All
NORDAN                 437, 850, 865, 1252
POLISH                 852, 1250
RUSSIAN                866, 1251
SLOVAK                 852, 1250
SPANISH                437, 850, 1252
SWEFIN                 437, 850, 865, 1252
UNIQWT                 437, 850, 1252

If you specify a collation sequence in the SET COLLATE
command as a string literal, enclose the collation
sequence in quotation marks. Don't enclose the collation
sequence in quotation marks if you specify a collation
sequence in your FoxPro configuration file (CONFIG.FP or
CONFIG.FPW).

If you use the SET COLLATE command to specify a collation 
sequence that isn't supported by the current code page, 
FoxPro generates an error. If you specify a collation 
sequence in your FoxPro configuration file that isn't 
supported by the current code page, the collation sequence 
defaults to MACHINE.

If you specify a collation sequence in the International
panel in the View window, the collation sequence names 
appear in longer forms. For example, the NORDAN option 
appears as Norwegian & Danish, and the SWEFIN option 
appears as Swedish & Finnish.

For additional information about collation sequences, see
SET COLLATE in Help.

3 Case-Sensitive Collation Sequences
------------------------------------

Two case-sensitive collation sequences are available in
FoxPro: the familiar MACHINE sequence, the default
sequence in earlier FoxPro versions, and the sequence
named UNIQWT. UNIQWT is a "unique weight" sort in which 
each accented character sorts strictly after its 
unaccented counterpart (unlike the interleaving of 
accented characters described earlier).

While the collation sequence with UNIQWT isn't strictly
culturally correct as with GENERAL, it may aid developers
in migrating their applications from earlier FoxPro
versions. One reason is that upper- and lower-case letter
are treated distinctly as they were in earlier FoxPro
versions. Another reason is described in the section
titled "How do the SEEK and SKIP commands work?"

4 How do the SEEK and SKIP commands work?
-----------------------------------------

The SEEK command accepts an expression. FoxPro transforms
that expression into a sort key which it compares to
keys in the master index or tag. SEEK then positions the 
record pointer at the first index entry that's greater 
than or equal to ( >= ) the supplied key.

With a machine sort, SEEK finds a match if there is one.
The UNIQWT sort has the same property. But when FoxPro
uses the new language-specific collation sequences to
create indexes, only the alphabetic part of the key is
considered and any diacritical marks are ignored. In other
words, even if you SEEK "äbc" you may find "abc". Note
that partial searches (where you search for part of the
field) using SEEK may not return the results you expect
when the current collation sequence is not MACHINE or
UNIQWT.

FoxPro behaves this way for the following three reasons:

1) Performance.

2) Consistency with the SKIP command.

3) Consistency with the SET NEAR command.

To have SEEK and SKIP find only those records that exactly
match accented characters, you must either SET EXACT ON or
use an index tag created with the MACHINE or UNIQWT
collation sequences. 

Note that SEEK and SKIP use the collation sequence of the
master index or tag, and ignore the current collation
sequence. SEEK can't be used unless there is an index is
active.  

5 Alternatives to SEEK and SKIP
-------------------------------

If you use accented characters, use one of the following
methods to search a table:

1) Construct a loop with SCAN FOR ... ENDSCAN.

2) Use LOCATE FOR ... CONTINUE. 

LOCATE and SCAN use an index if one is active, and
they have two very significant advantages over SEEK when
data contains accented characters.

First, both LOCATE and SCAN remember the condition with
which they were invoked, so they can be used for looping
on a condition. SEEK, on the other hand, simply positions
you somewhere in the index, and SKIP continues down the
index from that point. With international data, this may
not give you the results you want.

Second, LOCATE and SCAN are diacritically-sensitive,
whereas SEEK isn't. In addition, both LOCATE and SCAN can
be fully optimized by Rushmore if the current collation
sequence is MACHINE or UNIQWT; otherwise partial
optimization will occur.

The ORDER BY clause of the SQL SELECT command uses the
current collating sequence, which is returned by
SET("COLLATE")).

6 Additional Recommendations
----------------------------

1) If you aren't concerned with indexing accented
characters in a language-specific way, feel free to
continue to use machine indexes. For many U.S. users,
this is appropriate.

2) For the best performance when using a collation
sequence other than MACHINE or UNIQWT, be sure that the
current collation sequence is the same as the collation
sequence of any indexes you are using.

3) Most international users will want accented characters
in all fields to be translated automatically by FoxPro
when running cross-platform applications. However, if you
have a table with a character field that's actually 
storing binary information (data), the SET NOCPTRANS 
command allows you to inform FoxPro that characters
in such a field should not be translated. 

Binary data might otherwise be changed, because of
FoxPro's "nearest" character mapping.  For characters such
as the MS-DOS line-drawing characters, FoxPro maps to the
"nearest" character in the destination code page.

If you choose to use SET NOCPTRANS, you must do so
immediately after issuing the USE command. From that
point on, FoxPro's automatic character translation is
not in effect for any fields you designate. In particular, 
you must issue the SET NOCPTRANS command before issuing 
a SQL SELECT command -- you cannot let SQL SELECT open
tables for you if the tables contain fields which should
not be translated.

Note that SET NOCPTRANS only operates on fields for the
table open in the currently selected work area.  If you
close a table and then open the table again, you must
reissue SET NOCPTRANS and designate the fields which
should not be translated.

4) If you create cross platform applications, you should
avoid using FoxFont. FoxFont is an OEM MS-DOS font that
you may find useful in some situations. But if you use
FoxFont in an application you create in FoxPro for
Windows, some of the characters in the application may
not transport correctly to other FoxPro platforms.

Furthermore, FoxFont won't correctly display characters
typed on international Windows keyboards. If you have
automatic code page translation enabled, FoxPro will
display accented characters correctly.

FoxFont is the installed default font for the FoxPro
desktop. FoxFont is the default font for user-defined
windows created with DEFINE WINDOW when the FONT clause
is omitted. Be sure to include the FONT clause when
creating user-defined windows in FoxPro for Windows.

FixedSys is the default font for the Command, Trace and
Debug windows if you're using Windows 3.1. Text editor
windows default to the current Command window font. 

5) FoxPro 2.5a can automatically translate accented
characters in most files types such as .DBF, .SCX, and
.FXP files. However, program (.PRG) and text (.TXT) files
don't have a header and can't be marked with a code page.
Therefore, FoxPro must assume that a program or text file
was designed for use on the platform on which it is
opened.

It's important that you compile each program on the 
platform on which it was written. Since compiled programs 
(.FXP files) have a header, once you compile a program, it 
can be run on any FoxPro platform and accented characters 
in the original source program are automatically 
translated when automatic code page translation is in 
effect.

6) Do not mix programs created on different FoxPro
platforms in a project. The Project Manager assumes that
all programs and tables in a project are native to the
current FoxPro platform. If you create an application or
an executable from a project that contains programs
created on different FoxPro platforms, translation of
accented characters in the programs might not be
translated properly.

Also, within the Project Manager you can't specify the
platform on which a program or text file was created.
Therefore, in the Project Manager don't edit programs or
tables created on a FoxPro platform other than the current 
platform.  This means that you shouldn't double-click on a
file to open it in the Project Manager if you've enabled
automatic translation by including CODEPAGE = AUTO in 
your FoxPro configuration file.

If you create an application that contains files created
on different FoxPro platforms, do not open the files for
editing from within the Project Manager.

However, once you build an application (.APP file), it
will run on any FoxPro platform and FoxPro can
automatically translate accented characters.

7) If you have a project created in FoxPro for MS-DOS
version 2.0 and the files within the project contain 
accented characters, you can share the project and 
its files across different FoxPro platforms by performing
the  following steps to convert the project and its files.
This conversion is required just once, and enables cross 
platform sharing of all the elements of the project.

a) Open the project in FoxPro for MS-DOS 2.5a or FoxPro
   for Windows 2.5a. A dialog appears, asking if you would 
   like to convert the project to a 2.5 format. Choose 
   Yes, then close the project.
  
b) Open every screen, report, label, menu and table
   contained in the project with the USE command. You are 
   prompted for the code page (437, 850 and so on) on 
   which each was created. Specify the MS-DOS code page 
   on which each was built and then choose Yes.

c) Use MODIFY COMMAND or MODIFY FILE and include the
   AS clause to open EVERY program, query, format file
   or text file contained in the project. In the AS
   clause, specify the code page (437, 850 and so on)
   of the FoxPro platform on which each was created.
   Choose the Save As option from the File menu and choose
   the Change Code Page check box.  In the dialog that
   appears after you choose Save, specify the code page
   for the FoxPro platform on which the file will be used.

8) If you're developing a cross-platform application,
avoid using characters that appear in one code page and
not another. For example, the MS-DOS line drawing
characters aren't supported under Windows, so avoid using
them in screens you plan to transport between FoxPro for
MS-DOS and FoxPro for Windows.

You can use CHR() if your application absolutely requires
line drawing and accented characters. Output from CHR()
isn't translated when the function is executed, allowing
you to output any character.

9) The MS-DOS file system is case-insensitive and requires
uppercase file names. If your applications run on FoxPro
for MS-DOS, be sure to restrict file names to those
characters that have uppercase equivalents in your MS-DOS
code page.

For example, code page 437 doesn't contain uppercase
versions of several accented vowels. These characters
can't be safely used in a FoxPro file name. It's best
to avoid accented characters in file names.

7 New Code Pages
----------------

The following code pages are now supported:

Code Page       Platform
---------       --------
 437            U.S. MS-DOS
 850            International MS-DOS
 852            Eastern European MS-DOS
 865            Nordic MS-DOS
 866            Russian MS-DOS
1250            Eastern European Windows
1251            Russian Windows
1252            Windows ANSI

Byte 29 in table headers contains the code page identifier.
The following table lists the code page and the
corresponding code page identifier.

Code Page       Code Page Identifier
---------       --------------------
 437            0x01
 850            0x02
 852            0x100
 865            0x102
 866            0x101
1250            0x200
1251            0x201
1252            0x03

8 CPZERO Program
----------------

If you accidentally specify the wrong code page when
you open a table that isn't marked with a code page, run
CPZERO.PRG to reset the table's code page to zero. CPZERO
is a FoxPro program that is automatically installed in
your FoxPro directory. Before you run CPZERO, make sure
that the table whose code page you'll reset isn't open.
When you run CPZERO, you are prompted for the name of the 
table to modify.  

9 Corrections to the Help File
------------------------------

Configuring FoxPro and International/X-Platform Topics
------------------------------------------------------

These FoxPro 2.5a help file topics contain the following
line:

"Note that MODIFY STRUCTURE also marks a table with the
current code page."  

This line is incorrect and should read:

"Note that MODIFY STRUCTURE doesn't mark a table with the
current code page. Rather, it preserves the table's 
existing code page mark." 

International/X-Platform Topic
------------------------------

This help file topic contains the following line:

For example, if the current collation sequence is GENERAL,
both of these return true (.T.):

	"Straße" = "Strasse"

	and

	"Straße" == "Strasse"

"Straße" == "Strasse" will always return .F., not .T. as
it states in this topic. A strict machine comparison is
performed by ==. All characters in each string are
compared, including trailing blanks. For more information
about comparisons using = and ==, see SET EXACT in the
Language Reference or the FoxPro help facility.
----------------------------------------------------------
=================================
Part 9: Documentation Corrections 
=================================

DDEExecute()
------------

The syntax for DDEExecute() is incorrect on page L3-363 
of the Language Reference manual and in the Help file. The
correct syntax is:

   DDEExecute(<expN>, <expC1>[, <expC2>])

The <expC2> parameter is the name of a user-defined
function (UDF). There is no format parameter in this
function.

APPEND GENERAL
--------------

The second example on page D13-24 of the Developer's Guide
isn't correct and will cause an error. Microsoft Word 
doesn't support linking.
----------------------------------------------------------
===========================================
Part 10: Installation Questions and Answers
===========================================

Overview of Questions

1   What is the easiest way to install FoxPro on a network?
2   What kind of user rights do I need to install FoxPro 
    on the network?
3   Why are workstation users on our network unable to use
    the graphing and spell checker features in FoxPro?
4   During installation I was asked to select either
    DOS-style keystrokes or Windows-style keystrokes. 
    Which should I choose?
5   What is the minimum DOS files setting for FoxPro for 
    Windows?
6   Does FoxPro for Windows update any Dynamic Link 
    Libraries (DLLs) in the Windows subdirectory where 
    system files are kept?
7   I accidentally deleted some of the FoxPro sample files.
    Can I reinstall these files without reinstalling 
    FoxPro? 
8   My computer is having difficulty reading the FoxPro 
    disks because of an alignment problem with the floppy 
    drives. Is there another option for installation?
9   I'm trying to install FoxPro for Windows under Windows 3.0
    and I'm getting the message "Cannot write VER.DLL."  
    Any suggestions?
10  I'm having difficulty installing FoxPro. I've tried
    streamlining both my CONFIG.SYS and AUTOEXEC.BAT and I
    still can't install FoxPro for Windows. What should I 
    do?
11  Can I put a common WIN.INI file up on the server?
12  What is the best way to edit the WIN.INI file?
13  If I modify my WIN.INI file, is it advisable to 
    restart Windows?
14  Can I delete the ~MSSTFQF.T directory?
15  I get the error message "Insufficient memory" when
    trying to load FoxPro for Windows. What setting needs
    to be modified?
16  My computer is running with 4 MB of RAM. How large a
    swap file do I need?
17  When using my LANtastic network card, why do I always
    get a memory conflict when loading FoxPro for Windows?
18  When using a Paradise driver, I get a memory conflict
    when trying to load FoxPro for Windows. What should I
    do?
19  When I use QEMM386 memory manager with FoxPro for
    Windows, I get a memory conflict. What should I do?
20  When I use the Mach32 video card with my Gateway 2000,
    I get a General Protection Fault in module MACH32.DRV
    at 0003:0E22. What should I do?
21  I understand that a number of video drivers don't work
    properly with FoxPro for Windows. Why is this and what
    steps should I take to resolve the situation?
22  I occasionally experience problems when trying to open
    more than 15 tables at one time. What could be wrong?
23  I'm running Windows for Workgroups. Do I need to load
    the MS-DOS SHARE program?
24  Where does FoxPro create temporary files?
25  I frequently use the RUN command to change drives and
    directories within an application. Why isn't this
    working in FoxPro for Windows?
26  Why isn't FoxPro registered in REG.DAT within Windows?
27  Why doesn't the value returned by SYS(2010) match the
    FILES setting in the CONFIG.SYS file?
28  What memory allocation options are available with the
    Windows PIF Editor settings?
----------------------------------------------------------

Question 1

What is the easiest way to install FoxPro on a network?

Answer 1

In a network environment you must first install FoxPro on
the server and then set up each workstation. Installation
on the server is called an Administrative Setup, for which
you use the /A installation switch. This option
decompresses all FoxPro for Windows files and Setup
files. FoxPro for Windows files will be read-only on the
network drive.

To perform an Administrative Setup, choose Run... from the
Windows Program Manager File menu. When the Run dialog 
appears, type A:\SETUP /A or B:\SETUP /A (depending on the
floppy drive you are using) in the Command Line box. Press
Enter and proceed with the installation. You will be
prompted for your user information and an installation
directory, default drive, path name, and do on. For more 
detailed information refer to "Instructions for 
Administrative Setup" in the FoxPro for Windows
Installation and Configuration manual.

Installation on individual workstations is called
Workstation Setup, for which you use the /N installation
switch. Workstation Setup requires a previous 
Administrative Setup. The Workstation Setup copies FoxPro 
initialization files, updates some common .DLL files, and 
creates a Program Manager group and an icon on each 
workstation to run a shared network version of FoxPro 
for Windows.

You can perform the workstation setup in two ways: from 
the network or from disk. To install from a network drive, open
the Windows File Manager and then open a window with the
correct network path for FoxPro for Windows and double-
click SETUP.EXE. Choose the Workstation Installation 
button in the Installation Type dialog box. To install 
from disk, type A:\SETUP /N or B:\SETUP /N in the Run 
dialog Command Line box, then press Enter. For more 
detailed information refer to "Instructions for 
Workstation Setup" in the FoxPro for Windows
Installation and Configuration manual.
----------------------------------------------------------

Question 2

What kind of user rights do I need to install FoxPro on 
the network?

Answer 2

You need full system rights to install on the network.
Contact your system administrator for further information
about your specific installation.
----------------------------------------------------------

Question 3

Why are workstation users on our network unable to use the
graphing and spell checker features in FoxPro?

Answer 3

Workstation users need access to the MSGRAPH and PROOF
subdirectories in order to use these features. Contact
your system administrator regarding user access to these
subdirectories.
----------------------------------------------------------

Question 4

During installation I was asked to select either DOS-style
keystrokes or Windows-style keystrokes. Which should I
choose?

Answer 4

If you aren't sure which style to use, select Windows-
style keystrokes. Windows-style keystrokes correspond to 
standard Windows keystrokes. MS-DOS-style keystrokes cause 
FoxPro for Windows to behave like FoxPro for MS-DOS. 
Later, if you want to use MS-DOS-style keystrokes, add the 
line KEYCOMP = DOS to your CONFIG.FPW file. For more 
information about the styles of keystrokes, see the SET 
KEYCOMP command in the FoxPro Language Reference manual 
or Help.
----------------------------------------------------------

Question 5

What is the minimum DOS files setting for FoxPro for 
Windows?

Answer 5

The DOS FILES command should be set to 40 or higher. 
Buffers should be set to at least 25, or to 10 if you are 
using a disk cache. During installation, Setup checks your 
CONFIG.SYS file. If your FILES setting is less than 40, a 
dialog gives you three choices: have Setup make the 
modifications for you, have Setup make the 
modifications after you have reviewed and edited the 
changes, or allow you to make the modifications later. 
If you allow Setup to modify your CONFIG.SYS file, your 
old file is saved as CONFIG.OLD or as CONFIG.001 if 
CONFIG.OLD already exists. For more information, see 
"Customizing FoxPro" in the Installation and Configuration 
manual.
----------------------------------------------------------

Question 6

Does FoxPro for Windows update any Dynamic Link Libraries
(DLL files) in the Windows subdirectory where system files 
are kept?

Answer 6

Yes. The following DLL files are updated: COMMDLG.DLL,
DDEML.DLL, OLECLI.DLL, OLESVR.DLL, SHELL.DLL, TOOLHELP.DLL
and VER.DLL.

The FoxPro graphing capabilities require that GRAPH.EXE
and GRAPH.HLP be stored in the Windows subdirectory
\MSAPPS\MSGRAPH.

FoxPro spell checking capabilities require that
MSSPELL.DLL, MSSP_AM.LEX, and MSSP_BR.LEX be
stored in the Windows subdirectory \MSAPPS\PROOF.
----------------------------------------------------------

Question 7

I accidentally deleted some of the FoxPro sample files.
Can I reinstall these files without reinstalling FoxPro?

Answer 7

Yes. Run Setup again and select the Custom Installation
option from the Installation Type dialog. With this option
box, you choose which components to install.
----------------------------------------------------------

Question 8

My computer is having difficulty reading the FoxPro disks
because of an alignment problem with the floppy drives. 
Is there another option for installation?

Answer 8

Try copying all the files to a directory on your hard disk
and then install from the hard disk.
----------------------------------------------------------

Question 9

I'm trying to install FoxPro for Windows under Windows 3.0
and I'm getting the message "Cannot write VER.DLL." Any
suggestions?

Answer 9

Rename the VER.DLL file in the Windows System subdirectory.
----------------------------------------------------------

Question 10

I'm having difficulty installing FoxPro. I've tried
streamlining both my CONFIG.SYS and AUTOEXEC.BAT and I
still can't install FoxPro for Windows. What should I do?

Answer 10

First of all, don't try to install from within a third-
party replacement shell, such as Norton Desktop. Make 
sure you use the Windows Program Manager shell. To specify 
the Program Manager shell, change the SYSTEM.INI line

SHELL = <some other shell> 

to 

SHELL = PROGMAN.EXE

Next, make certain you have disabled all TSRs, including
anti-virus software. Check the WIN.INI file for the
LOAD = and RUN = lines. Comment these lines out using a
semicolon (;).
----------------------------------------------------------

Question 11

Can I put a common WIN.INI file up on the server?

Answer 11

No. Each workstation has its own WIN.INI file.
----------------------------------------------------------

Question 12

What is the best way to edit the WIN.INI file?

Answer 12

You can edit the WIN.INI file with Notepad or EDIT.EXE in
MS-DOS 5.0.
----------------------------------------------------------

Question 13

If I modify my WIN.INI file, is it advisable to restart
Windows?

Answer 13

Yes. As a general rule, always restart Windows when you
have modified the WIN.INI file. There are some
exceptions, but if you are trouble-shooting you want to
be certain that all changes are reflected in the current
environment.
----------------------------------------------------------

Question 14

Can I delete the ~MSSTFQF.T directory?

Answer 14

Yes. The ~MSSTFQF.T directory is created during setup.
Ordinarily this directory is deleted at the end of the
installation process.
----------------------------------------------------------

Question 15

I get the error message "Insufficient memory" when trying
to load FoxPro for Windows. What setting needs to be
modified?

Answer 15

Add a MEMLIMIT statement to your CONFIG.FPW file. The
syntax for this statement is:

MEMLIMIT = %, min, max

The % argument is a calculated amount based on available
memory and min and max represent actual minimum and maximum
allocations.

For example, the following statement allocates 80 percent
of your system's available memory to FoxPro with a minimum
allocation of 1024K and a maximum of 4096K:

MEMLIMIT = 80, 1024, 4096.

----------------------------------------------------------

Question 16

My computer is running with 4 MB of RAM. How large a swap
file do I need?

Answer 16

Use a 2 MB permanent swap file for virtual memory and
don't include a MEMLIMIT setting in the CONFIG.FPW file.
If you are running multiple programs simultaneously, it
may be necessary to specify a swap file larger than 2 MB.
Let FoxPro run with the default setting. In addition, do
not use a RAM drive or an expanded memory manager.
Expanded memory isn't used by FoxPro for Windows. A disk
cache should be no larger than 256K.
----------------------------------------------------------

Question 17

When using my LANtastic network card, I always get a 
memory conflict when loading FoxPro for Windows. What 
should I do?

Answer 17

Try using the following line in the SYSTEM.INI file in
the Windows directory:

EMMExclude = D800-DFFF

----------------------------------------------------------

Question 18

When using a Paradise driver, I get a memory conflict when
trying to load FoxPro for Windows. What should I do?

Answer 18

Try using the following line in the SYSTEM.INI file in
the Windows directory:

EMMExclude = C600-C800

----------------------------------------------------------

Question 19

When I use QEMM386 memory manager with FoxPro for Windows,
I get a memory conflict. What should I do?

Answer 19

Try using the following line in the SYSTEM.INI file in
the Windows directory:

EMMExclude = C0FF-C7FF

----------------------------------------------------------

Question 20

When I use the Mach32 video card with my Gateway 2000, I
get a General Protection Fault in module MACH32.DRV at
0003:0E22. What should I do?

Answer 20

You are experiencing a problem with your video driver.
Contact your video card vendor for the most recent version
of the driver. In the meantime, you can use the VGA.DRV
or the SUPERVGA.DRV drivers that come with Windows.
----------------------------------------------------------

Question 21

I understand that a number of video drivers don't work
properly with FoxPro for Windows. Why is this and what
steps should I take to resolve the situation?

Answer 21

FoxPro for Windows makes intensive use of screen I/O. If 
you are experiencing General Protection Faults (GPFs) or 
display problems (borders, status bar, fonts, unusual 
alignment when previewing reports) you may be experiencing 
a problem with your video driver. To test this situation, 
load either the VGA or VGA version 3.0 drivers and go 
through the steps to reproduce the earlier problem. If the 
problem no longer exists when you are using a standard 
Windows driver, it's very likely that the old driver was 
the cause of the problem. Contact the vendor for an 
updated version of the driver or download the Windows 
Driver Library (WDL) on the Microsoft Download Service 
(MSDL). Complete instructions for obtaining the Windows 
Driver Library is contained in the Product Support section 
of this file.

We have identified problems with the following video 
cards:

   ATI Ultra Graphics Pro (local bus) -- caused GPF, fixed
     with update
   AST Power Premium 486 w/VGA on Motherboard -- fixed
     with update
   Genoa 7900 MM card
   Dell 486/20 with VGA on Motherboard
   Compaq QVision
   Speed Star 24x
   Trident 8900C
   TIGA 1024 x 768 x 256 small fonts
   NEC 2A
   MACH32

Contact your video card vendor for the most recent version
of the driver for your card. In the meantime, you can use
the VGA.DRV or the SUPERVGA.DRV drivers that come with
Windows.
----------------------------------------------------------

Question 22

I occasionally experience problems when trying to open
more than 15 tables at one time. What could be wrong?

Answer 22

Make certain you have the correct SHARE statement in your
AUTOEXEC.BAT file:

   SHARE /F:4096 /L:500
----------------------------------------------------------

Question 23

I'm running Windows for Workgroups. Do I need to load the
MS-DOS SHARE program?

Answer 23

No. Windows for Workgroups automatically loads VSHARE,
which takes the place of SHARE.
----------------------------------------------------------

Question 24

Where does FoxPro create its temporary files?

Answer 24

FoxPro creates its temporary files in the same directory
where Windows stores its temporary files, unless you
specifically designate an alternate location by including
one or more of the EDITWORK, SORTWORK, PROGWORK and/or
TMPFILES statements in the CONFIG.FPW file. The location
of Windows .TMP files is specified with the MS-DOS set
variable TEMP. In most cases, you should let FoxPro write
.TMP files to the same location. However, if this
location is a RAM drive, make sure that enough space is
available for both FoxPro and Windows .TMP files.
----------------------------------------------------------

Question 25

I frequently use the RUN command to change drives and
directories within an application. Why isn't this working
in FoxPro for Windows?

Answer 25

Each time you issue the RUN command to change drives and
directories, Windows opens a new session of MS-DOS,
otherwise known as a virtual machine, and executes the
command within the newly created session. When you exit
from this session or shut down the virtual machine, you
are right back where you started without having changed
drives. You should use FoxPro's own drive and directory
commands instead of using the RUN command. For example,
using SET DEFAULT TO C:\NEWDIR will actually issue the
MS-DOS command CHDIR.
----------------------------------------------------------

Question 26

Why isn't FoxPro registered in REG.DAT within Windows?

Answer 26

Only OLE servers are registered in REG.DAT. FoxPro is
not an OLE server. It is an OLE client.
----------------------------------------------------------

Question 27

Why doesn't the value returned by SYS(2010) match the
FILES setting in the CONFIG.SYS file?

Answer 27

Windows interacts with the MS-DOS open file tables in such
a way that the value reported in the MS-DOS box and in
Windows may be different.
----------------------------------------------------------

Question 28

What memory allocation options are available with the
Windows PIF Editor settings?

Answer 28

In the PIF Editor "memory requirements" section the
"KB Required" and "KB Desired" may both be set to "-1".
This tells Windows to give all the available memory it
can to an MS-DOS application. This doesn't mean that the
MS-DOS application will have more than 600K, but it will
get about as much conventional memory as you had available
before starting Windows (minus some conventional memory
that Windows itself occupies).

Changing the "EMS Memory" and "XMS Memory" sections
tells Windows to provide or not provide the MS-DOS
application and EMS (Expanded Memory Services) or XMS
(Extended Memory Services). This won't, however, allow
an application that doesn't support accessing EMS or 
XMS to do so. Only applications that have the capability
will be able to access the additional memory provided. It
is important to note that once you tell Windows to create
EMS or XMS for an application, it does so whether the
application can use it or not.

In the "Execution" section, if Exclusive is selected, no
other application, be it Windows or MS-DOS, will run while
the application with Exclusive is the current application.

In the "Advanced Options" there is a "Multitasking 
Options" section. This section is very important when you 
are trying to get an MS-DOS application to run in the
background. If the MS-DOS application is very I/O
intensive (reads and writes to disk, asynchronous
communication, and do on) it will be necessary to increase 
the "Background Priority." Unfortunately there is no rule 
of thumb when it comes to the exact number that should be 
used. It's important to note that the larger the number 
for "Background Priority" the slower other applications 
will run while the MS-DOS application with the high 
priority is running in the background.

----------------------------------------------------------
                   =================
                   End of README.TXT
                   =================