Microsoft KB Archive/121267

{|
 * width="100%"|

-

The information in this article applies to:


 * Microsoft FoxPro for MS-DOS, version 2.6a

-

SUMMARY
This article is based on the information in the FoxPro version 2.60a for MS- DOS DKREADME.TXT file, found in the main FoxPro directory (usually FPD26) and on Disk 1 of the Distribution Kit.

MORE INFORMATION
                      DKREADME.TXT Microsoft(R) FoxPro(R) Version 2.6a Professional Edition

Distribution Kit for MS-DOS(R)

(C)1994 Microsoft Corporation. All Rights Reserved.

=
CONTENTS

=
1. Installation 2. Microsoft Knowledge Base Articles 3. Changes to Distribution Kit User's Guide Since Printing 4. Answers to Commonly Asked Questions 5. Error Messages

=
======= Part 1: Installation

=
=======

Installing the Professional Edition of FoxPro 2.6 -

The Professional Edition of FoxPro 2.6 includes these kits:

Distribution Kit Connectivity Kit Library Construction Kit WorkGroup Extensions (FoxPro for Windows only)

To install the Professional Edition of FoxPro, first install the main FoxPro product. Then follow the installation instructions included with each individual kit. The order in which the kits are installed does not matter.

Important Note --

Once you have installed the main FoxPro product, don't rename the FoxPro executable file if you will be distributing FoxPro applications. The setup program for the Distribution Kit requires the FoxPro executable file to be named the default, FOXPRO.EXE. If you have renamed the executable file, change it back to FOXPRO.EXE before running the Distribution Kit setup program.

FoxPro version 2.6 now includes the FoxPro Wizards, located in the WIZARDS subdirectory. The FoxPro Wizards and CATALOG.APP should not be distributed with your applications.

=
============================ Part 2: Microsoft Knowledge Base Articles

=
============================

If you installed the Microsoft Knowledge Base articles, you can view them by running the application KBVIEW.APP. These articles contain useful information about a variety of FoxPro topics.

=
================================================== Part 3: Changes to Distribution Kit User's Guide Since Printing

=
==================================================

In the Distribution Kit User's Guide, references to FoxPro version 2.5 should be read as references to FoxPro version 2.6.

Chapter 1, page 2: The first bulleted item should read:

The Distribution Kit files, in both 5.25-inch and 3.5-inch disk formats.

Chapter 2, page 10, under "Available Runtime Menus and Menu Options," the File menu item should read:

File menu: Close, Save, Save As and Revert

Chapter 2, page 11, under "Features Not Available in Distributed Applications," add the following section below the "Menus" section:

Menu Pads

The following FoxPro menu pads aren't available in the applications you distribute.

SYSTEM Menu: Macros..., Filer FILE Menu: New..., Open..., Printer setup..., Print..., Quit WINDOW Menu: Color..., Command, Debug, Trace, View

The files with extensions .ESL or .ESO have been renamed for the new version. For example:

FOXPRO.ESL is now FOXD2600.ESL FOXPRO.ESO is now FOXD2600.ESO FOXPROX.ESL is now FOXDX260.ESL

The new file names impact the following pages in the Distribution Kit User's Guide:

Chapter 1, page 5, the Distribution Kit Files table.

Chapter 3, page 22, change the last sentence to read:

The .EXE Support Library consists of three files: FOXD2600.ESL, the standard .EXE Support Library FOXD2600.ESO, and the 32-bit Extended .EXE Support Library FOXDX260.ESL."

Chapter 5, page 32, the table called Files Required on Distribution Disks Based on Type of Application has these changes:

In the "You must also distribute these files" column, substitute the .ESL and .ESO file names with the new File names.

Chapter 2, page 15, under the heading "Help in a Project" add the following information:

If your help files are included in your project but marked as excluded, you must distribute the .DBF and .FPT files with your application. These files can be changed by the user. If you don't want your users to have the ability to change the contents of your help files, include them in  your project, but don't mark them as excluded.

Chapter 5, page 33, the Files Your Application May Require should include DRIVER2.PLB as a file your application may require. This file contains printer drivers. You must distribute this file if your application requires printer drivers.

=
============================== Part 4: Answers to Commonly Asked Questions

=
==============================

Question 1 --

What type of applications (single or multiuser) can be built with the Distribution Kit?

Answer 1

You can build single and multiuser applications with the Distribution Kit.

Question 3 --

Suppose I write a program for Client A and compile the program as a compact .EXE file and give the application to Client A, together with the *.ES? Library files with which to run the application. Client A owns the application and the copyright. Client A then sells the application to many other people.

Question 3.1

Does Client A also have to purchase the Distribution Kit?

Answer 3.1 --

No, Client A does not need to purchase the Distribution Kit. Only the developer who uses the Distribution Kit to build the original .EXE file must own a licensed copy of the Distribution Kit.

Question 3.2

Does Client A have to purchase the FoxPro version 2.6 development system?

Answer 3.2 --

Client A does not have to purchase FoxPro version 2.6 because the client is not building their own .EXE; Client A is just a reseller. Client A must distribute the application in its original form, however, and cannot remove the runtime files to include the application with another application.

Question 3.3

Does the above also apply to stand-alone .EXE files?

Answer 3.3 --

Yes.

Question 4 --

Why is Build Executable dimmed after I install the Distribution Kit?

Answer 4

Two possible reasons: First, the Distribution Kit must be installed in your FoxPro directory. Ensure that the FoxPro files are not marked as read-only before installing the Distribution Kit. Second, the project does not include a SET MAIN program. Select the main menu or program, then choose Main from the Project menu.

Question 5 --

When I compile an .EXE file, the process stops with a "Cannot Open File" error message that refers to a Distribution Kit program file. When I grant all access rights, except for delete, to the program directory, the program compiles. However, the compilation process leaves several files in the program directory with names like WLK02112.--A, WLK02112.--B, WLK02112.--C, and so on. What are these files?

Answer 5

Compiling program files in the FoxPro Distribution Kit places temporary files in the directory from which you start FoxPro. The TMPFILES statement in the CONFIG.FP file does not affect file placement.

Include the full path to the network drive and directory where the FoxPro development and distribution programs are installed. Start FoxPro from a user directory that has all rights, including erase or delete rights, assigned to it. The process of compiling using the Distribution Kit creates files in and deletes files from the user directory. The system administrator can designate the program directory read only.

Question 6 --

I have created an application that does not allow me to edit my table .DBF files. How can I correct this problem?

Answer 6

Mark your table .DBF file as excluded in the project, then rebuild your application. You must distribute these files to your end users. Including the table .DBF file in the project automatically makes these files read only.

Question 7 --

How do you instruct an MS-DOS .FXP, .APP or compact .EXE file to run in extended mode from within Windows?

Answer 7

An .FXP, .APP, or .EXE file will run in standard mode when run from within Windows, even though there is enough memory for the extended mode Support Library to run. To force use of the Extended Support Library from within Windows, you can use the +X loader switch to launch your application.

=
========= Part 5: Error Messages

=
=========

Message: "Feature Not Available"

=
===================

Question 1 --

My executable file runs correctly in the development version of FoxPro, but I receive the error message "Feature Not Available" when running the stand- alone application. How can I correct this problem?

Answer 1.1 --

You will get the "Feature not available" error message when you use commands, features, and menus that require the development version of FoxPro. Refer to the "Features Not Available in Distributed Applications" list in the FoxPro Distribution Kit User's Guide for a list of these commands and functions. These commands and functions include: BUILD APP, BUILD EXE, BUILD PROJECT, COMPILE, FILER, CREATE/MODIFY MENU, CREATE/MODIFY QUERY, CREATE/MODIFY SCREEN, SET VIEW ON, and SUSPEND and features specific to the interactive development environment such as the Trace, Debug, Command, and View windows.

Answer 1.2 --

You will get the "Feature not available" error message when using commands containing macro substitution in a stand-alone .EXE file. When you compile a stand-alone .EXE file, the compiler includes only the code necessary to run the commands explicitly included in the application. If there is macro substitution anywhere in a line of code, that entire line is skipped, since FoxPro does not explicitly "see" the command referenced by the macro- substituted variable. The result is that the code to execute the substituted command is not built into the .EXE file.

The following examples illustrate two methods for ensuring that macro- substituted commands are included in your compiled .EXE file:

Example 1:

As a developer you might want to allow the user to choose either reports or labels by storing the choice "report" or "label" in a memory variable called m.output. You could then store the file name in the memory variable m.filename. You would include the following command to run the report or labels in your application:

&output FORM &filename TO PRINT NOCONSOLE

The Distribution Kit compiler will successfully create a stand-alone .EXE file with this code. However, when FoxPro attempts to execute the command, you will get a "Feature Not Available" runtime error because the code for the REPORT FORM and the LABEL FORM commands is not included in the .EXE file. To avoid this problem, include the following If statement at the beginning of your application:

IF .F.     REPORT FORM dummy LABEL FORM dummy ENDIF

The file names do not have to exist. The IF .F. guarantees the code will never be executed. You are simply making these commands visible to the compiler.

Example 2:

This code example illustrates the use of macro substitution for the PACK command. Because the code does not explicitly issue the PACK command, FoxPro does not include the required code in the stand-alone .EXE file. An attempt to run the PACK command from the macro substitution fails.

testcom="pack" &testcom

To address this situation, create another procedure, such as the following, and include it in the project:

procedure addon pack return

Message: "Dynamic memory exhausted"

=
======================

Question 1 --

What is the cause and solution for a "Dynamic memory exhausted" error message when compiling a stand-alone .EXE file?

Answer 1

This error message is sent by the WATCOM linker, which is one of the tools in the FoxPro Distribution Kit used to create a stand-alone application. The message is displayed when the amount of available conventional memory is too low. The WATCOM linker (WLINK8.EXE) uses only conventional memory.

If the CONFIG.FP file contains the DOSMEM=ON statement, edit the file to remove the statement. If the CONFIG.FP file does not contain a DOSMEM statement, edit the AUTOEXEC.BAT and CONFIG.SYS files to remove unnecessary device drivers and memory-resident applications to maximize available conventional memory.

Message: "Link command failed"

=
=================

Question 1 --

When I attempt to build an executable file, I receive the error message "Link command failed." How can I correct this problem?

Answer 1

If you receive this error message, check the following items:

a. Make sure that enough conventional memory is available. Modify the CONFIG.SYS and AUTOEXEC.BAT files to free conventional memory.

b. Make sure that enough disk space is available.

c. Increase the number of file handles available to Microsoft FoxPro for MS-DOS. To do this, modify the FILES statement in the CONFIG.SYS file to  increase the number of available files. In the Novell NetWare environment, modify the FILE HANDLES statement in the SHELL.CFG file to  increase the number of available files.

d. If the AUTOEXEC.BAT file loads the SHARE utility, increase the values specified by the /F and /L parameters. For example:

SHARE /F:5120 /L:500

e. Make sure that FoxPro can find your COMMAND.COM file. Modify the SHELL statement in the CONFIG.SYS file to specify the /P (permanent) option switch. Be sure SHELL= or COMSPEC= is set for the correct path to  COMMAND.COM.

f. Make sure that the following files are in a directory listed in the MS-DOS PATH environment variable in the AUTOEXEC.BAT file:

WLINK8.EXE and FOXSWAP.COM.

g. If you are running the Extended Version of FoxPro, remove the DOSMEM=ON statement (if it is present) from the CONFIG.FP file. --                   ===================                    END OF DKREADME.TXT =================== Additional query words: FoxDos contents subdirectory tips novel

Keywords         : Version          : Platform         : Issue type       :
 * }