Article: Q191525
Product(s): Microsoft FoxPro
Version(s): WINDOWS:5.0,5.0a
Operating System(s):
Keyword(s):
Last Modified: 21-AUG-1999
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft Visual FoxPro for Windows, versions 5.0, 5.0a
-------------------------------------------------------------------------------
SYMPTOMS
========
You are programmatically creating a Dataenvironment object, and you add a Cursor
object to it at run-time. If the Cursor object added uses a free table as its
CursorSource, and you attempt to set its Database property to "" in its class
definition, calling the OpenTables() method of the Dataenvironment object
erroneously opens a dialog asking to locate a database.
RESOLUTION
==========
As a workaround, do not set the Database property of the Cursor object in its
class definition.
STATUS
======
Microsoft has confirmed this to be a bug in the Microsoft products listed at the
beginning of this article. This bug has been corrected in Visual FoxPro 6.0.
MORE INFORMATION
================
Steps to Reproduce Behavior
---------------------------
1. Run the following code from a program (.prg) file:
CREATE TABLE mytable FREE (myFld c (10))
CLOSE DATABASE ALL
PUBLIC oDataEnv
oDataEnv = CREATEOBJECT("DataEnv")
oDataEnv.OPENTABLES()
DEFINE CLASS DataEnv AS DATAENVIRONMENT
PROCEDURE INIT()
THIS.ADDOBJECT("oFreeCursor","FreeCursor")
ENDPROC
ENDDEFINE
DEFINE CLASS FreeCursor AS CURSOR
* Setting the Database property to empty string, as it should be,
* generates an error.
DATABASE = ""
CURSORSOURCE = SET('DEFAULT')+CURDIR()+"myTable.dbf"
ENDDEFINE
A dialog displays with the following:
Locate Database
Error instantiating cursor object. Cannot find <current
drive/directory>
[Locate][Ignore][Cancel][Help]
This dialog displays in error since there should not be a database associated
with a free table. As a workaround, run the preceding code after removing the
DATABASE = "" code. The program then executes without error.
REFERENCES
==========
(c) Microsoft Corporation 1998, All Rights Reserved.
Contributions by Jim Saunders, Microsoft Corporation
Additional query words: kbVFp500abug kbVFp600fix kbOOP KbDBFDBC kbDatabase
======================================================================
Keywords :
Technology : kbVFPsearch kbAudDeveloper kbVFP500 kbVFP500a
Version : WINDOWS:5.0,5.0a
Issue type : kbbug
Solution Type : kbfix
=============================================================================