Contents of the FoxPro 2.5a for Windows README.TXT

Last reviewed: April 29, 1996
Article ID: Q108090
The information in this article applies to:
  • Microsoft FoxPro for Windows, version 2.5a

SUMMARY

Below are the contents of the README.TXT file installed with FoxPro 2.5a for Windows.

MORE INFORMATION

**********************************************************

                   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 "('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.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 "('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.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(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) 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
                   =================


Additional reference words: FoxWin 2.50a general protection gp
fault gpf
KBCategory: kbreadme kbsetup
KBSubcategory: FxotherReadme


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: April 29, 1996
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.