Registrations are now open. Join us today!
There is still a lot of work to do on the wiki yet! More information about editing can be found here.
Already have an account?

Microsoft KB Archive/104670

From BetaArchive Wiki

README.TXT: Workgroup Extensions for FoxPro

ID: Q104670

2.50 2.50a WINDOWS kbreadme

The information in this article applies to:

  • Microsoft FoxPro for Windows, versions 2.5, 2.5a


Below is the complete README.TXT file for the Workgroup Extensions for FoxPro for Windows.


WorkGroup Extensions for FoxPro Information

This file describes important details for using the FOXMAPI.FLL routines to integrate FoxPro for Windows with Microsoft Mail, and Microsoft Schedule Plus. You should review the included help file for technical details on specifics of the functions.

Before you begin using the FOXMAPI.FLL functions, it is a good idea to closely review the section entitled "FoxPro Environmental Considerations" which is also located in the help file.

The included source code illustrates examples of all 12 MAPI functions included in the FOXMAPI.FLL library. Most of the calls are made through a generic program file called MAPILIB.PRG. This file is intended to be generically used with any of your applications involving use of the FOXMAPI library. You should feel free to add/delete/modify this file to suit your own needs. A MAPIERR.PRG file is also included which is used to handle all errors.


To use the FOXMAPI.FLL routines, you will need the following files:


The FOXMAPI.FLL file can be installed at a place convenient to your application needs. IMPORTANT: You need to copy the three DLLs to your WINDOWS SYSTEM directory.

The MAPILIB and MAPIERR FoxPro PRG files can also be used if you choose to include them in your applications. Make sure that these as well as the libraries are in a path where FoxPro can locate them.

Sample Applications

The sample programs all access library routines contained in the MAPILIB program file. You can modify them to your choosing. Be aware, that the various routines in the MAPILIB return different codes (i.e., some are logic, others are character). The sample applications also use a common logon routine. A global variable "mailsession" is checked to see if it exists and/or it is an active session (i.e., not equal to zero). You can run multiple mail sessions piggy backing each other if you choose (see the help file more details). These sample applications, however, will use an existing session if it is running.

The descriptions here give a brief description of what each program does. You should review the sample code more closely to learn specific details how the calls are made.


A simple mailmenu can be added to any FoxPro application by running the MAILMENU.PRG program. The menu has options to send and read mail messages. In addition, a FoxPro MAPI help file is included so that you can reference the MAPI calls as you browse through the source code. The MAILMENU.PRG program is actually generated code from the MAILMENU.MNX menu file.

All 12 MAPI calls are included between the two main programs used in this sample app (READMAIL.PRG and SENDMAIL.PRG). The majority of the calls are contained in the READMAIL program which goes through and polls your messages(inbox). You should review this code closely as it contains several tricks for successfully handing MS Mail messages in FoxPro.


The bulk mailing program shows a common use of FoxPro and MAPI. You can create a message which goes out to a list of people contained in a database for example. This application allows the user to construct two types of mailings.

The first is a general listing in which everyone receives the same exact message. A single message is sent with many addresses attached to it. The second type is also a mass mailing, but allows for message personalization with each specific message. This mailing takes more time since a message is sent for each individual in the listing. Notice in the code how you can set flags to suppress the MAPI SendNote dialog as is done in the personalized mailing.

IMPORTANT: The database files contain names and address aliases which were used for developing this sample program. Running the program without modifying these names and addresses will cause name resolution problems. You should use mail aliases contained in your MS Mail system if you want to successfully run these samples.


The Updater shows a simple multiuser project manager function. It allows for developers, each working on specific files of a common project, to update each other's local projects with current files through a MAPI message. In addition, a button is provided to poll for new files which may have been sent by someone.

This sample program illustrates two MAPI uses. The first, how to send files to others. The second, how to send a MAPI message which does not get detected by MS Mail.

The interface provides a popup of all the developers working on the project. The developer names and files they are working with are located in two databases. Being a developer, you would select your name from the popup. When a name is selected, the names of all files that person is assigned is placed in a list box. Use the <Move> button to select files to update.

The <Mail Files> button creates a message with only the updated files. No text is added to the message. For purposes of identifying these mail messages, the subject field is stamped with 'Project Files' and messagetype field is stamped as 'IPC.ProjectUpdater'. The IPC type will not be detected by the MS Mail client (it will not appear in the Inbox).

The <Receive Files> button polls through mail looking for files stamped with a type "IPC.ProjectUpdater" and subject "Project Files". A cursor database is created showing a list of these files. Note: Files are not actually updated (i.e., overwritten) in the sample program.

IMPORTANT: The database files contain names and address aliases which were used for developing this sample program. Running the program without modifying these names and addresses will cause name resolution problems. You should use mail aliases contained in your MS Mail system if you want to successfully run these samples.


The FoxPro MAPI sample files are distributed solely to provide examples and guidelines for using the FOXMAPI library calls. Microsoft is not responsible for the code contained in any of the sample files and does not provide support for these files. See the included Help file for further details and assistance regarding technical/other support.


If you type a MAPI command into the FoxPro Command Window or use the keyboard to select a button that calls a MAPI command, and that particular MAPI command brings up a MS Mail dialogue box (i.e. MPSendNote) you may find that your mouse cursor disappears. This is a known problem and is being looked into.

Additional reference words: FoxWin 2.50 2.50a MAPI FOX FLL MAIL SCHEDULE KBCategory: kbreadme KBSubcategory: FxprgMultiuser

Keywords          : FxprgMultiuser 
Version           : 2.50 2.50a
Platform          : WINDOWS

Last Reviewed: March 14, 1998
© 1999 Microsoft Corporation. All rights reserved. Terms of Use.