Microsoft KB Archive/135699

From BetaArchive Wiki

Article ID: 135699

Article Last Modified on 2/15/2000



APPLIES TO

  • Microsoft Visual FoxPro 3.0 Standard Edition



This article was previously published under Q135699

SYMPTOMS

In certain cases, the DIRECTORY or DIR command in Visual FoxPro returns a value different from that returned by the same command, in the same case, in FoxPro version 2.x for Windows.

One such case is when running Visual FoxPro under Windows NT. The difference occurs when the default is set to a subdirectory on a remote share with a network drive/directory combination, and then the default is changed back to the local drive. Visual FoxPro sees the remote share's root as the "current" directory of the remote drive, while FoxPro for Windows sees the directory set by the SET DEFAULT command as the current directory of the remote drive.

CAUSE

Visual FoxPro relies on the operating system to provide identification of the "current" directory for each drive. Windows NT does not keep a list of the current directory for each drive. FoxPro for Windows retains a variable defining the default directory settings for drives.

WORKAROUND

Developers need to be aware of this behavior and compensate for it in the design of the application if necessary.

STATUS

This behavior is by design.

MORE INFORMATION

Steps to Reproduce Behavior

This behavior can be demonstrated by using two computers, one of which is running Windows NT version 3.5 or later (Workstation or Server). Both computers must be on a common network.

  1. On the Windows NT computer, load both FoxPro version 2.6a for Windows and Visual FoxPro for Windows 3.0.
  2. Create three table (.dbf) files, each with a memo (.fpt) file. Name one Parent and the other two child1 and child2.
  3. On the second computer's hard drive, create a first-level directory named Asample. Under it, create a subdirectory named Subdir. Share Asample.
  4. Copy the child1 and child2 tables and their memo files to C:\Asample\Subdir.
  5. Copy the Parent table and its memo file to C:\Asample
  6. Connect the Windows NT computer to the remote share. For example, in the Windows NT File Manager, on the Drive menu, click Connect Network Drive. In the path edit box of the Connect Network Drive dialog box, enter:

    \\<name of remote computer>\Asample

  7. Note the drive letter assigned to the remote drive. For the purposes of this article assume the letter is E, so the remote share is E:
  8. Start FoxPro for Windows and enter the following commands in the Command window:

       SET DEFAULT TO E:\subdir
       SET DEFAULT TO C:
       DIR E:            && Make a note of the values and their appearance
       DIR E:*.*         && Also note the values and their appearance
  9. Quit FoxPro for Windows. Start Visual FoxPro.
  10. In Visual FoxPro's Command window, issue the commands shown in step 8.

Visual FoxPro sees the root of the remote drive as the current directory once the default directory is no longer on the remote drive.


Additional query words: 3.00 VFoxWin

Keywords: KB135699