PRB: In Windows NT Visual FoxPro DIR Command Differs

Last reviewed: August 25, 1995
Article ID: Q135699
The information in this article applies to:
  • Microsoft Visual FoxPro for Windows, version 3.0

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 reference words: 3.00 VFoxWin
KBCategory: kbnetwork kbprb
KBSubcategory: FxnetworkWinnt


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: August 25, 1995
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.