Microsoft KB Archive/114250

{| = PRB: FoxPro Runs Old Version of Program Created w/ Text Merge =
 * width="100%"|

ID: Q114250

The information in this article applies to:


 * Microsoft FoxPro for Windows, versions 2.5x, 2.6
 * Microsoft FoxPro for MS-DOS, versions 2.0, 2.5x, 2.6, 2.6a
 * Microsoft FoxPro for Macintosh, version 2.5b

SYMPTOMS
A program that creates a second program then runs the newly created program runs an older version of the second program.

CAUSE
When a program in memory is run again, FoxPro does not reload the program from disk. Instead, the existing version in memory is used.

STATUS
This behavior is by design to enhance the speed of FoxPro.

NOTE: This does not occur in FoxPro 2.6a for Windows.

RESOLUTION
There are two ways to force FoxPro to read the most current copy of the program file from disk:

 The preferred solution is to issue a CLEAR PROGRAM command immediately before the DO test statement in TXTMRG.PRG. The CLEAR PROGRAM command is designed to force FoxPro to reload the desired program file from disk. -or- Issue a SET DEVELOPMENT ON command immediately before the first SET TEXTMERGE command. Although the default for SET DEVELOPMENT is ON, adding this line to a program forces FoxPro to reload the file from disk. However, changing the setting of SET DEVELOPMENT may not be desirable within a program.

Steps to Reproduce Behavior
1. Create a program named CALLPRG that contains the following command:

WAIT WINDOW "Version before text merge" 2. In the Command window, type the following command: DO callprg 3. Create a program named TXTMRG that contains the following commands SET TALK OFF SET TEXTMERGE TO "callprg.prg" SET TEXTMERGE ON     WAIT WINDOW NOWAIT "Version after text merge" SET TEXTMERGE OFF SET TEXTMERGE TO     DO callprg 4. In the Command window, type the following command: DO txtmrg A wait window that says "Version before text merge" appears because FoxPro uses the copy of CALLPRG that exists in memory. Additional reference words: FoxMac FoxDos FoxWin 2.00 2.50 2.50a 2.50b 2.60 2.60a KBCategory: kbenv kbprg kbprb KBSubcategory: FxenvMemory
 * }