Microsoft KB Archive/108303

From BetaArchive Wiki

INFO: Contents of README.TXT in 2.5b FOXPROW Directory

ID: Q108303



The information in this article applies to:

  • Microsoft FoxPro for Windows, version 2.5b




SUMMARY

Below is the complete FoxPro for Windows README.TXT file found in the main FoxPro directory (usually FOXPROW).


MORE INFORMATION

                       README.TXT
**********************************************************
                   Release Notes for

    Microsoft(R) FoxPro(R) for Windows(TM) Version 2.5b

    (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.5b. 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.5b, 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.5b 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.5b. 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.5b 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.5b features. In this case, you can
disregard this section of the README and the
International/X-Platform topic in Help. FoxPro 2.5b is
100% percent compatible with FoxPro 2.5.

1 FoxPro Collation Sequences
----------------------------
\*
\* MSINTERNAL
\* The following paragraphs deal with the foreign letter "a" with the
\* umlaut (two side-by-side dots, like a colon turned on its side)
\* diacritical mark above it. However, this character cannot be
\* displayed in the Knowledge Base. In the text that follows, this
\* character has been replaced by a description of it surrounded by
\* parentheses.

With a MACHINE collation sequence, which earlier FoxPro versions use (and
to which FoxPro 2.5b 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 "('a' with an
umlaut)" sorts after "z", which isn't correct in most languages (although
it is true in Swedish, for example).

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, ('a' with
an umlaut) sorts after the unaccented "a", but the string "('a' with an
umlaut)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.5b 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   Friendly Name    Code Pages
------------------   -------------    ----------
CZECH                Czech            852, 895, 1250
DUTCH                Dutch            437, 850, 1252
GREEK                Greek            737, 1253
GENERAL              General          437, 620, 850,
                                      852, 861, 865,
                                      895, 1250, 1252,
                                      10000
HUNGARY              Hungarian        852, 1250
ICELAND              Icelandic        437, 850, 861,
                                      1252
MACHINE              Machine          All
NORDAN               Norwegian/Danish 437, 850, 865,
                                      1252
POLISH               Polish           620, 852, 1250
RUSSIAN              Russian          866, 1251
SLOVAK               Slovak           852, 895, 1250
SPANISH              Spanish          437, 850, 1252
SWEFIN               Swedish/Finnish  437, 850, 1252
UNIQWT               Unique Weight    437, 850, 1252,
                                      10000
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 "('a' with an umlaut)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.5b 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.5b or FoxPro
   for Windows 2.5b. 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
737             Greek MS-DOS (437G)
620             Mazovia (Polish) MS-DOS
850             International MS-DOS
852             EE MS-DOS (Latin II)
861             Icelandic MS-DOS
865             Nordic MS-DOS
866             Russian MS-DOS
895             Kamenicky (Czech) MS-DOS
1250            Windows EE
1251            Russian Windows
1252            Windows ANSI
1253            Greek Windows
10000           Standard Macintosh

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

Code Page       Code Page Identifier
---------       --------------------
437             x01
737             x6A
620             x69
850             x02
852             x64
861             x67
865             x66
866             x65
895             x68
1250            xC8
1251            xC9
1252            x03
1253            xCA
10000           x04

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.5b 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
------------------------------
\*
\* MSINTERNAL
\* The following paragraphs deal with the lowercase Greek letter
\* beta. However, this character cannot be displayed in the Knowledge
\* Base. In the text that follows, this character has been replaced by
\* a description of it surrounded by parentheses.

This help file topic contains the following line:

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

        "Stra(lowercase beta)e" = "Strasse"

        and

        "Stra(lowercase beta)e" == "Strasse"

"Stra(lowercase beta)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). To obtain the Windows Driver Library, download
from the Microsoft Software Library.

The following file is available for download from the Microsoft Software
Library:

 ~ WDL.txt

For more information about downloading files from the Microsoft Software
Library, please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q119591
   TITLE     : How to Obtain Microsoft Support Files from Online Services
 
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
                   ================= 

Additional query words:

Keywords          : kbreadme kbsetup kbVFP250b 
Version           : 
Platform          : 
Issue type        : kbinfo 

Last Reviewed: August 8, 1999
© 1999 Microsoft Corporation. All rights reserved. Terms of Use.