List of bugs that are fixed in Microsoft Visual FoxPro 9.0 Service Pack 1

This article provides details about the release and the bugs fixed in Visual FoxPro 9.0 Service Pack 1.

Original product version:   Visual FoxPro
Original KB number:   907737

Summary

This article contains information about the bugs that are fixed in Microsoft Visual FoxPro 9.0 Service Pack 1 (SP1). For more information, see How to obtain Service Pack 1 for Visual FoxPro 9.0.

Visual FoxPro (VFP) 9.0 SP1 contains fixes for the following problems.

Control and classes

  • Cannot use mouse to get focus to other controls from the DHTML control.
  • Wizard-generated forms fail when you try to add a record if the underlying table has AutoInc field(s).
  • Web Browser control: implementing DWebBrowserEvents2 causes parameter count mismatch.
  • Saving form to an in-use file causes eventual fatal exception.
  • Fatal exception occurs when building a project that contains VCX with properties that are separated by only carriage returns.
  • Collections: Removing items from collection with >=500 items crashes VFP under Application Verifier.
  • CursorAdapter: TABLEUPDATE(0) ignores SendUpdate setting for table buffered cursor.
  • TextBox: C0000005 exception with AutoComplete TextBox where TextBox has ControlSource set to a field which allows NULLs.
  • ComboBox: "Data type mismatch" error message when setting value in drop-down when ControlSource is null member property.
  • Fatal exception error occurs with MODI FORM command when MSXML3.dll file is not registered.
  • SEARCH function in Wizard-generated forms does work with new VFP9 data types. The search does not find varchar data.
  • Control class does not resize anchored controls within itself.
  • QUIT fired in DESTROY of form does not close VFP or application.
  • READ of converted form is released in VFP 9.0, but not in earlier versions of VFP.
  • Grid loses data when selected alias is changed from one populating grid to alias of the same table used again, and a CALCULATE command is used against the second alias.
  • C0000005 exception pressing ENTER key when ListBox ListIndex = 0.
  • Unexpected Anchor behavior for values 256/512 and odd Width/Height.
  • Form: Internal Consistency error and then fatal exception occur when you edit form after adding relation to DataEnvironment of form using aselobj() reference.
  • IMPLEMENTS failed with Word. Application object with Office 2003.
  • Grid goes blank when custom method of parent formset is set as ControlSource of a grid column.
  • ActiveX Controls: LeadTools ActiveX control makes two empty bars appear in Window menu.
  • CheckBox: Graphical CheckBox and option button do not appear with darker back color when depressed with themes enabled.
  • "Internal Consistency" error message working with a class library that is stored in a hidden folder.
  • ComboBox: DownClick( ) does not fire unless user first passes mouse over contents of drop-down list.
  • Pageframe with TabStretch=0 (multiple) and with many tabs keeps growing when form is opened for edit.
  • Add support for adVarNumeric for ADO data source.
  • Refresh problems on PageFrame in FormSet causes TextBox ghosting.
  • Refresh issues with various controls on a form when .exe is run over network (UNC or mapped drive).
  • Value for drop-down list style ComboBox does not appear in Accessible Event Viewer.
  • Orphaned form DataEnvironment causes VFP to crash when exited.
  • "Internal Consistency" error message when Ctrl+Tab off is disabled page on pageframe.
  • A formset object exhibits memory corruption of user properties the second time it is run after a CLEAR ALL.
  • "Internal Consistency" error message when modifying or running a form with object having invalid Zorder setting.
  • Toolbar not active with Modal Form inside Top Level Form.
  • Grid: "Data type mismatch" error message 9 editing a DOUBLE field through grid or browse.
  • Top Level forms with contained modal form should be resizable and movable.
  • "Internal Consistency" error message setting value property in init of control in grid column.
  • "Internal Consistency" error message clicking relation in data environment window with persistent relation on compound index key.
  • CursorAdapter: Base table names are converted to lowercase in auto-generated SQL.
  • "Internal Consistency" error message in bound autocomplete TextBox if form uses private datasession.
  • EditBox wordwrap causes blank lines to disappear.

Engine

  • Data engine no longer optimizes some queries involving DELETED() function and OR clauses.
  • Indexes on STR() are not Rushmore optimized with SET ANSI OFF.
  • TOP N in subquery is ignored when UNION is used.
  • Memo values are not translated when copied between tables with different code pages (SQL SELECT, APPEND FROM).
  • Fatal exception with REPLACE with undefined variable if row validation rule is present.
  • Hang occurs when UNLOCK is executed.
  • "Internal Consistency" error message accessing free table in transaction if table is made transactable in different data session.
  • Requery() on prepared remote view fails.
  • LOCATE fails to find a match when index on Currency is used for optimization and the right part of comparison is certain Numeric value.
  • USE command can assign duplicate alias for the work area.
  • Unexpected error message "Table has a file length / record count inconsistency" on END TRANSACTION.
  • Unexpected "SQL expression is too complex" error message on CREATE SQL VIEW against large tables.
  • Reopening or FLUSH of table after ZAP with SET TABLEVALIDATE >= 8 causes "Table ... has become corrupted" error message.
  • SQL SELECT returns incorrect result when correlated sub-query returning COUNT(*) is compared with 0.
  • Data corruption when CursorAdapter that is bound to Grid is updated in a TRANSACTION.
  • Unexpected "SQL: Error correlating fields" error message with two EXISTS subqueries.
  • Correlation is not verified to meet "correlation is supported only to immediate parent query" limit.
  • Unexpected "Subquery returned more than one record" error message when aggregate is used in HAVING, but not in SELECT list.
  • Query returns incorrect result when ORDER BY+TOP N evaluation is merged with GROUP BY evaluation and TOP is optimized.
  • SELECT COUNT(ICASE(.T.,1)) returns incorrect result.
  • SELECT INTO ARRAY changes current work area if it uses sub-query in FROM.
  • Index on table buffered cursor is corrupted after REPLACE with scope.
  • A Query with OUTER JOIN produces incorrect result if NOT EMPTY(...) is used in WHERE.
  • Unexpected "SQL expression is too complex" error message with correlated subquery.
  • "Microsoft Visual C++ Runtime Library Buffer overrun detected!" and C0000005 exception running SCAN loop against large table.
  • CAST() to date of a blank datetime field returns datetime type.
  • ALTER TABLE ... ALTER COLUMN to change character field to integer also changes value.
  • "Error building key for index..." error message when indexing using str() on a NULL value.
  • "Internal Consistency" error message on REQUERY() after tableupdate() to remote view with batchupdatecount = -1 and table buffering.
  • "Internal Consistency" error message on SQL SELECT when record size * record count is high.
  • Enable optimization for tables with non-current code page when ENGINEBEHAVIOR < 90.
  • "Internal Consistency" error message when indexing with a nested collection filter.
  • Filter condition that temporarily changes current work area may break relation, or may break nested XML generation with XMLAdapter.
  • Query processor fails to find column in SELECT list if it is enclosed in parentheses and reports false "SQL: ORDER BY clause is invalid" error message.
  • Unexpected "SQL: GROUP BY clause is missing or invalid" error message trying to create a view or USE view with NODATA.
  • Query produces incorrect result when ENGINEBEHAVIOR < 90, sub-query returns Aggregate function and no records match sub-query's WHERE condition.
  • COPY TO ... AS nCodepage fails to encode memo with correct codepage and uses CPCURRENT() instead.
  • Memo values are not translated when copied from tables with current code page to a table with different code page (COPY TO, SQL SELECT, APPEND FROM).
  • SELECT ... WITH BUFFERING unexpectedly pulls buffered data from a cursor, which was not explicitly referenced in the FROM clause.

IDE

  • Project Manager: Fatal exception building application that uses icon that is still in memory.
  • Properties Window: Fatal exception closing Zoom window with Enter key under App Verifier with SET KEYCOMP TO DOS.
  • "Menu manager internal consistency error" crash when issuing CLEAR POPUPS.
  • Prompt for saving query references tmp file.
  • Tooltips appear in right monitor when you run VFP in left monitor in multi monitor setup where primary monitor is on the right.
  • C0000005 error in the View Designer with long expression.
  • Project Manager: Fatal exception changing font on Project Manager after Dock/Undock operation.
  • Project Manager: New Project managers do not remember their positions when Override Individual Settings is selected for the Projects type on the IDE tab of the Options dialog box.
  • RI builder uses incorrect syntax for UNLOCK command.
  • Picbtns class of Wizbtns.vcx displays warnings when used with the CursorAdapter.
  • Project Manager: VFP stops responding (hangs) when rebuilding app after error message that classlib is being used.
  • Access violation C0000005 when activating IntelliSense in the Program Editor.
  • IntelliSense: C0000005 Access Violation exiting Class Designer after failed attempt to access LPARAMETER IntelliSense for member method.
  • Fatal exception when debugging a large code file.
  • Builders: MemberData Editor - Code bug in GetHierarchy() of MemberDataEditor.scx causes MemberData Editor to get hierarchy wrong.
  • Properties Window: C0000005 exception closing Class Designer with CursorAdapter, XMLAdapter, XMLTable, and XMLField after you press ESC on a property that has value over 255 characters long.
  • Editor: 100% CPU usage hang when using Expression Builder from code editor window that contains only two blank lines.
  • IntelliSense: Fatal exception in List Members after creating early binding mapi.session object with CreateObjectex().
  • "Browse table is closed" error message followed by unhandled exception (c05) when messing with Resource file during table browse.
  • On Simplified Chinese platform, reducing the width of a TextBox that contains dbcs string causes IDE to stop responding.
  • On Simplified Chinese platform, fatal exception when executing program.
  • Resizing Project Manager does not update treeview of files.
  • Option Button Sample in Solution Samples throws DATATYPE MISMATCH error.
  • Component Gallery: "Error building key for index" when selecting Clean Up from context menu.
  • Builders: Problems with Properties dialog boxes in ReportBuilder.app.
  • "Printer is not ready" error message when printing to EMF-Citrix printer driver inside Citrix client session to Metaframe 4.0 Presentation Server. Other applications can print to this printer fine.
  • "'local thisview' is not allowed in the view script or is in the wrong place" error message in View Designer.
  • Make ReportBuilder.app localizable.

Language

  • SQLEXEC() function allows reentrance for the same connection handle.
  • DEBUGOUT outputs binary data as strings.
  • CursorToXML() and XMLAdapter does not output seconds for xsd:dateTime values if SET SECONDS is OFF.
  • C0000005 followed by "Mismatched pushjmp/popjmp call" error message when executing program from "do <program.prg>" on Program Editor menu and then followed by call to EXESCRIPT().
  • WEXIST() finds ToolTipText windows.
  • Memory leak when you set ActiveConnection property of ADO RecordSet object to NULL.
  • "Internal Consistency" error message followed by crash of VFP calling methods of object that are returned with GetObject("IIS://LocalHost/W3SVC/1").
  • XMLToCursor() and XMLAdapter fail to load values of type xsd:date if time portion is present.
  • SQLCOLUMNS() fails with complex names if at least one part of the name contains a space or other "illegal" character.
  • ADIR returns invalid file size for >2gig files (virtual PCs).
  • GETOBJECT() has parameter limit based on file spec (261 chars).
  • String optimization for recursion produces erroneous results.
  • Literal number causes BINTOC() errors.
  • Converting Bintoc to Character by using CTOBIN() throws junk value.

VFP OLE DB Provider

  • OLE DB Provider: SYS(3050) should default to 128 MB in provider.
  • OLE DB Provider: Apparent memory leak leads to connectivity error "could not convert the data value..." with repeated openrowset or openquery to SQL linked server.
  • Unable to create dataset with the VFP OLE DB Provider.
  • GetSchema(string, string[]) failed to filter based on INDEX_NAME.
  • OLE DB Provider: Enable SYS(3055) ("FOR and WHERE Clause Complexity") inside provider.
  • VFP OLE DB Provider incorrectly handles binary parameters.
  • Enable DROP VIEW and DROP PROCEDURE commands.
  • DBSCHEMA_PROCEDURES rowset returns obsolete procedures.
  • DBSCHEMA_PROCEDURES rowset returns incomplete procedure definition.
  • APPEND PROCEDURES ignores compilation errors in procedures.
  • Accessing database container (DBC) that has no tables may cause a buffer overrun error.

Reporting

  • Report Builder dialog boxes should respect regional settings.
  • Report Preview has incorrect title in some cases.
  • When object assisted report is previewed, initial Print Preview toolbar differs from that opened by selecting Toolbar from Report Preview surface menu.
  • Object on report set to "Scale Contents, retain shape" appears differently between report preview and HTML made by an HTMLListener.
  • Multiple detail bands do not work correctly when "Start on new page" is on.
  • Go To Page dialog box opens out of visible range in when Preview Container TopForm property is .T. and windowstate is NORMAL.
  • New-style Report Preview toolbar is inaccessible when report is previewed in SDI form without NOWAIT clause on REPORT FORM command.
  • Code window filled with garbage characters when you try to close Report Designer and you click NO in the Do you want to save changes to <proc>? prompt.
  • Data Grouping limit for a report is listed as 74 in the documentation topic "How to: Add Data Groups to Reports," but ReportBuilder.app limits you to 20.
  • Justification for numeric format is Left justify. This differs from previous VFP versions and default Report Designer.
  • No error given when closing Report Properties dialog box after you set the Initial Value of a Report Variable to an invalid value.
  • Report Expression dialog box for field with error is not displayed after preview error with while REPORTBEHAVIOR = 90.
  • Calculated values in report detail header reset unexpectedly when reprint detail header option is on.
  • ReportListener, AdjustObjectSize, and MaxHeightAvailable properties do not work with floating objects.
  • Previewing a report that contains an image that is located on the disk causes a GDI handle leak every time the preview is refreshed.
  • REPORT PREVIEW GDI handles limitation with many pages.
  • Associated header and footer report option: sequential numbers do not print across pages.
  • ReportListener.OutputPage to HDC uses 96 DPI instead of printer DPI.
  • "Property WindowState does not exist in line 325 of ResourceManager::SaveWindowState()" error message.
  • Multiselect dialog allows setting of protection flags, even when report is PROTECTED.
  • You are prompted for FRX if switching from "load from FRX" to "link to Class".
  • After canceling from the first GETFILE(FRX) prompt, you are prompted with GETFILE again.
  • Report Preview overwrites m.oForm if it is previously declared outside the preview.
  • Programs should respect "real" screen DPI at runtime instead of the design-time 96 DPI.
  • Various errors occur when loading a DataEnvironment from a class that has specific attributes.
  • The full path of the linked DE class library is written into the linking code. This is not always appropriate.
  • Properties of preview form are not saved to resource file correctly under some circumstances.
  • You receive "Unknown member .cmdPrint" error message if you have selected AllowPrintFromPreview = .F.
  • Not all variables in FRXOUTPUT.prg had "m.".
  • Enhance app to be smarter about unknown output type if a valid listener reference is passed.
  • Ensure "m." in all methods and #DEFINEs that include expressions.
  • Filebased listeners derived from XmlListener that used its ApplyUserXSLT property could not specify directory-only for TargetFileName.
  • Report Preview menu can no longer be displayed by the Shift-F10 key after the Go To Page dialog has been displayed.
  • Report band size does not change correctly with floating objects that stretch.
  • C0000005 exception during report print preview with corrupted EXPR field in frx file.
  • Enhance reportoutput.app to handle unknown output type if a valid listener reference is passed.

Runtime and COM

  • Toolbar or Status Bar not visible in application run on Windows 98 Second Edition.
  • "The procedure entry point GetLongPathNameA could not be located in the dynamic link library KERNEL32.dll" error message in runtime in Windows NT 4.0.
  • Memory leak with IMPLEMENTS in COM servers.
  • Invalid COM parameter passing with unsigned long and unsigned int types.
  • Deadlock in REMClearConnect and csCritSectionEnter when COM+ recycles dllhost worker process.
  • COMARRAY. On Visual Basic 6.0 COM Server, Date type does not work.
  • OCXAPI cannot be initialized for early binding objects.
  • "Array dimensions are invalid" error message 230 when you pass large array >65000.