This article contains information about the bugs that are fixed in Microsoft Visual FoxPro 8.0 Service Pack 1 (SP1). For additional information about how to obtain Visual FoxPro 8.0 Service Pack 1, click the following article number to view the article in the Microsoft Knowledge Base:
829988 How to obtain the latest Visual FoxPro 8.0 service pack
Visual FoxPro 8.0 Service Pack 1 (SP1) contains the following fixes:
Automation - When you pass an array by reference to an ADO RecordSet, AddNew produces the following error message:
The class file () associated with this field cannot be found - class association cleared
Servers - When you call a method from a second server that is instantiated in single MTDLL under COM+, you receive the following error message:
Servers - Error with COM Codebook application in COM+ package.
Servers - Returning an untyped member array fails.
Collection - When you call the AddProperty method of an item that is added to a collection, the procedure returns an object reference.
Combobox control - A selection does not work correctly when a row source exceeds approximately 512 items.
Combobox control - A value with an ampersand (&) adds a second ampersand to the value that is displayed.
Editbox conrol - C5 fatal exception error occurs when you call the editbox.refresh method that has a character field as the control source.
Form - Error occurs at design time and run time if a property value references the method of an object that is not in scope.
Form - F5 does not trigger the KeyPress event of a form if the Closable property of the form is set to .F.
Form - The Control menu has incorrect hotkeys on a computer that is running Microsoft Windows NT 4.0.
Grid – When a Column contains a Container object, Visual FoxPro stops responding.
Grid - Columns display incorrectly when the RightToLeft property is set to .T. at design time and at run time.
Grid - The HighlightForeColor property appears white when it is set to black.
Grid - When the AllowCellSelection property set to .F. the Cancel property of the command button is disabled.
Grid – With a CursorAdapter object, you receive an error message two times, and then the form closes unexpectedly.
Grid - If Active Accessibility is enabled (OBJ_SHOW), and you show a grid with several text columns, a fatal exception occurs.
Grid - The grid is not refreshed if the grid is on a nonactive page of a page frame.
Grid - Inconsistent MouseUp event behavior occurs when you click or you double-click a header separator line that has the AllowAutoColumnFit property set.
Grid - Fatal exception occurs in a grid where there is a Container object in column.
Header - A programmatically defined header class in an .exe file is not found unless the .prg file that contains the definition is in the same folder with the .exe file.
Label - When you set the Caption property to a built-in property with a blank value (such as, Caption = '=thisform.tag') you receive the following error message:
There is not sufficient memory to complete this operation
Label - When you resize a label you receive the following error message, and Visual FoxPro quits:
There is not sufficient memory to complete this operation
Listbox control - A memory leak occurs when you set the RowsourceType property to 8.
Pageframe - A fatal exception occurs when you close a form after you click a page that has the PageOrder property set.
Pageframe - When the TabOrientation property of a page frame is set to 2, and you press the arrow keys to move between page tabs on a themed form, a memory leak occurs, and Visual FoxPro quits.
Textbox - When you change a text box value where array elements are set as the control source, you receive the following error message:
Not a character expression
XMLAdapter - The XMLAdapter ignores the XMLNamespace property unless the XMLName property is not empty and does not parse XML correctly.
Misc - The AddProperty method sets the value of the existing property to .F. when a new value is not passed.
Misc - When the Caption property references a variable that is not in scope, you receive one of the following error messages:
"Variable not found
data type is invalid for this property
Misc - When a caption is set to an empty string, the object name appears as the caption instead of a blank caption. For example, this behavior occurs when the caption is set to the following:
Misc - When you dimension an object array property to more than 32,767 elements, a fatal exception occurs.
Misc - Fatal exception occurs when you add the custom FontBold and FontItalic properties, and then you enable these properties.
Misc - Fatal exception occurs when you redefine a released variable in the Destroy method.
Misc - Fatal exception or C++ runtime error occurs when you edit a subclassed method with an lparam list that is over 256 characters.
Auto Increment - Auto Increment does not work correctly with APPEND FROM.
CursorAdapter - If the ODBC driver or the OLE DB provider does not support batched execution, a non-batched update fails when you set the UpdateType property to 2.
CursorAdapter – In ADO, the CursorAdapter method does not update .mdb with memo fields that are zero-length, that are null, or that are longer than 255.
CursorAdapter – In ADO, when an update of the backend table fails in a TABLEUPDATE( ) function call, subsequent TABLEUPDATE( ) functions fail.
CursorAdapter - When the OLE DB provider does not populate the Parameters collection, the OLE DB provider does not pass an empty string as a parameter for the ADODB.Command object .
CursorAdapter - You can call the TABLEREVERT( ) function while the TABLEUPDATE( ) function is executed.
CursorAdapter - The TABLEUPDATE( ) function does not commit insert in local cursor if Buffering is set to 5 and record is changed in AfterInsert event.
CursorAdapter - When you issue an ERROR command in the CursorAdapter method in a runtime application, you receive the following error message:
Fatal error <ErrorNumber> while attempting to report error <ErrorNumber>
CursorAdapter – The ADO fetch process puts table buffer in incorrect state.
Engine - When you have a table-buffered cursor with GO TOP after BEGIN TRANS and ROLLBACK, you receive the following error message:
Index does not match the table
Engine - When you use SCAN or when you skip through records, you receive the following error message:
Record is not in index
Engine - When you have an opened table-buffered cursor that contains a dirty record, you receive the following error message:
Table has no index order set
Engine - SEEK command with the ORDER DESCENDING clause does not move to correct record with SET NEAR ON.
Engine - SEEK command finds old and new data with optimistic table buffering.
Engine - When you call the TABLEUPDATE( ) function on a table-buffered cursor with buffered changes and you use the REINDEX command, you receive the following error message:
Index does not match the table...(Error 114)
Engine - Memory leak occurs when you pass parameters by reference with the SQLEXEC( ) function.
Engine - The SQLGETPROP( ) function has a memory leak.
Engine - Visual FoxPro can stop responding when you call SQL INSERT in the middle of a transaction.
Engine - Shared connection does not pass parameter, and shared connection does not execute statement in async mode.
Engine - SET TABLEVALIDATE=2 does not report an error when the record count is one less than it must be, and a new record overrides the existing data.
Engine - Memory leak occurs with INSERT - SQL or UPDATE - SQL. INSERT - SQL and UPDATE - SQL cause errors.
Engine - You expect the SQLSTRINGCONNECT( ) function to display a connection dialog box as it does in Visual FoxPro 7.0. Instead, the SQLSTRINGCONNECT( ) function reports an error.
Engine - SQL Pass-Through Asynchronous Batch mode fetches all result sets at the same time.
Engine - COPY TO command with more than 255 fields crashes or reports misleading error.
Engine - The REQUERY( ) function on parameterized view fails when the REQUERY( ) function is preceded by an equal sign (=).
Engine - After you call the TABLEUPDATE( ) function and ROLLBACK command in local view, and you then use the GOTO TOP command, you receive he following error message:
"Index does not match the table
ODBC - When you try to set an invalid property in Microsoft SQL Server, you receive the following error message:
ODBC - Connection is not disconnected when idle timeout has elapsed.
ODBC - Passing large variable to SQL Server ODBC Driver can cause C5 crash.
SET TABLEVALIDATE - SET TABLEVALIDATE TO sets to incorrect value.
SQL - UPDATE and DELETE are not Rushmore-optimized if target table has table buffered changes.
SQL - When you use SELECT ... UNION with a Fox 2.x table, you receive the following error message:
Fields are incompatible
SQL - JOIN syntax can sometimes return incorrect results
SQL - INSERT INTO ... SELECT ... FROM ... WHERE ... does not respect WHERE clause.
SQL - CREATE/REMOVE TABLE in DBC fails in multi-user scenario.
SQL - Changes in error message and number with unbalanced INSERT INTO ... SELECT FROM statements.
SCREEN - Fatal exception occurs when you minimize and then restore IDE after you add and you release the hook on the _SCREEN.Resize event.
Debugger - Fatal exception occurs after you change the value in the Locals window for the property of a closed modal form.
Debugger - If Call Stack or Locals window is not open, a fatal exception occurs after you resume in the Trace window.
Debugger - Fatal exception occurs after you resume with a large array in the Watch window.
Debugger - Fatal exception occurs when you paste an expression in the Watch window.
Editor - Fatal exception occurs when you choose View Definition or Look Up Reference from the context menu when you edit a stored procedure.
Editor - Fatal exception occurs when you comment code from the context menu.
Menus - Fatal exception occurs on push or pop menu or SET SYSMENU TO DEFAULT after you modify 2 reports.
Menus - Fatal exception with SET SYSMENU TO DEFAULT after you close the debugger.
Options Dialog - Search path that is set on the Files tab in the Options dialog box and then saved as the default is not persisted in later Visual FoxPro sessions.
Report Designer - Close box does not appear under Windows NT 4.0 when the preview window is maximized.
RI Builder - The RI Builder generates the following error message:
Task pane - Fatal exception occurs when Community pane cannot connect to a Web service when using a startup program.
Task pane - Community pane does not connect if Internet Explorer is configured to use proxy.
Toolbars - Black and white toolbars can cause Visual FoxPro to stop responding.
OLE DB Provider
Command execution is serialized across all processes.
IDBCreateSessionImpl::CreateSession does not check return value from IID_IObjectWithSite::SetSite and causes C5.
InterlockedCompareExchange and InterlockedExchangeAdd do not use multithreaded protection.
CFGInitFailed() in Visual FoxPro OLE DB Provider (VFPOLEDB.dll) shows MessageBox.
Thread-safe improvements for the Visual FoxPro OLE DB Provider
Make OLE DB Provider read ENGINEBEHAVIOR and TABLEVALIDATE settings from CONFIG.FPW.
Memory leak in VFPOLEDB.dll
SET ENGINEBEHAVIOR affects all connections for the same client.
Fatal exception error occurs when program cache is filled.
Fatal exception reporting dialog box can appear multiple times with some crashes.
SET NOTIFY CURSOR OFF makes _TALLY behave as if additive.
If InstallShield Express setup project contains both Visual FoxPro 7.0 and Visual FoxPro 8.0 Merge Modules (MSM), you receive an error message when you build setup.
When you access an array row that is greater than 4,906, you receive the following error message: