Wiki Home

VFP 9 SP 2 Bug List

Namespace: WIN_COM_API

A place to list and discuss Bugs and "Features" of VFP 9 SP 2, released October 2007

Please maintain the chronology by posting at the bottom.
VFP 9 SP2 Hotfix updated (includes VFP9T.DLL) on MSDN Code Gallery (2009/04/07)
VFP 9 SP2 Hotfixed released on MSDN Code Gallery (2009/04/02)

If your VFP9 SP2 apps are affected by any of the SP2 issues, feel free sign in to Microsoft Connect Feedback, and rate/validate/comment it.
Post VFP9 Bug Reports here:
Visual FoxPro is no longer supported through Connect...
About reporting VFP 9 bugs to M$, please read this post:
as you can see there, M$ "resolved" a lot of issues :-(

Here are some Solutions To VFP 9 SP 2 Bugs / issues.

White paper guiding you on installing different service packs on your development machine:
Bo Durban goes though the issues in a series of blog entries
Visual FoxPro 9.0 SP2 or not... Post 1,guid,61740049-97c8-4ab8-ab15-34bf0e4c8433.aspx
Visual FoxPro 9.0 SP2 or not... Post 2,guid,2bea72cd-5510-44b7-8aaf-29274cca0cd9.aspx
Visual FoxPro 9.0 SP2 or not... Post 3,guid,51100058-840d-446a-a236-9f51aa24a7c2.aspx
VFP9 Reporting APPs on VFPx,guid,6c770106-1840-469e-987f-69d3e9318484.aspx
Visual FoxPro 9.0 SP2 or not... Post 4,guid,895cd811-a9cb-4e43-b807-49e9947facc6.aspx
Visual FoxPro 9.0 SP2 or not... Post 5,guid,7860a9ef-6260-4e6f-b472-5abe8e8d0e36.aspx
The old VFP9 report bug where the preview toolbar was inoperative, that was fixed in SP1, is now back. This should only occur when a window is defined for the report and the window is a "top level" or "in top level" window. -- Reported by Bernard Bout
The help file Index is missing many items like ADDOBJECT, TYPE, RENAME and others (619 items missing). -- Reported by Bernard Bout

The help file for VFP 9.0 SP2 is now fixed and available for download. [2008.04.26]

it looks broken in another way...

1. Object Properties, Methods, and Events pages lost their links
2. Favorites tab is missing
3. internal links are broken on a number of pages
4. help title is dv_foxhelp91
5. parameters are no longer bold
6. header section is white and somewhat rearranged
Tooltips for column headers are not displaying. -- Reported by Bernard Bout
Undocumented change in COM when passing DATETIME value to .NET. NULL datetime now passed correctly in SP2 but was not in SP1. -- Reported by Bernard Bout
Web Services Registration - If field returns NULL then error registering Web Service - _w3sutils.vcx _webservice.addfoxcode. -- Reported by Bernard Bout
Changes to the code in FFC\_reportlistener.vcx breaks SP1 reports
Doug Hennig did an excellent article - about Hyperlinking Reports. I have implemented this in a number of reports. With the SP2 version of _reportlistener.vcx class there are no Hyperlinks in the reports. With SP1 this still works perfectly.
-- Reported by Bernard Bout
Note: This is not a product or FFC bug. The technique shown in Doug's article no longer works in SP2 without changes but this is not due to a bug in VFP 9 SP2. -- Colin Nicholls
VFP has always been backward compatible. Why was this code segment left out of SP2? See->
Bernard Bout
Undocumented features are never guaranteed to work in future versions. To say "[SP2] breaks SP1 reports" is misleading, and unfair. -- Colin Nicholls
Right click on controls for code doesn't focus on correct control
Right click on a object in a code from the menu.
Right click on a different object ... select code from the menu.
Notice that the first object is still selected in the code window. -- GaryParsons
Not in my VFP. -- Doru
I am seeing this too. Very annoying. -- Tod Mckenna
Here are two interesting bugs found and conveyed by Alexander Lagler at the German Devcon. This zip file contains two bugs, one we know isn't new (involving overlapped containers and visibility) while the second one, involving selecting from dirty VFP cursors (or tables) WITH (BUFFERING = .T.) in a loop appears new. Andy Kramek has further reduced this one and may chime-in with a summary.

The select on a cursor WITH (BUFFERING = .T.) bug either freezes VFP, or crashes VFP, depending.

Essentially if you have a cursor or table where you've both added and deleted records, then you do a SELECT FROM ... WITH (BUFFERING = .T.) in a loop, you're not going to get too many loop iterations before it's buh-bye.

Here's the zip containing two repro scenarios -- a .SCX for the containers, and a .PRG for the SELECT FROM ... WITH BUFFERING = .T. in a loop.

Steven Black
This bug can be reproduced using this file:

Just unzip the file in c:\ (a folder named VFP9SP2Bugs will be created - doesn't work if you extract to another folder), compile the project, run VFP9SP2Bugs.exe.

Select Test > Bug 1 options from main menu.

Bug 1 (Fatal Exception) menu option will cause a C5 error.
Bug 1 (No Error) menu option will run as expected.

So, lets explain whats happening...

I've created a grid class (UserGrid), a column class (UserColumn) and a header class (UserHeader).
UserGrid was created visually but UserColumn and UserHeader classes are non visual classes and was defined in main.prg.
I'm setting HeaderClass and HeaderClassLibrary of UserColumn properties to use UserHeader class instead of VFP native header class.
I've created a form (TestBug1) and place an instance of UserGrid on it and set ColumnCount property to 5.
All created columns and headers derived correctly from UserColumn and UserHeader classes.
I've created a menu (UserMenu) to call the TestBug1 form with the UserGrid and:

1A- If I set the "result" property of menu option to "command" and place a Do Form TestBug1, a C5 Error Fatal Exception Occurs;
1B- If I set the "result" property of menu option to "command" and place a Do Form TestBug1, and reset ColumCount property of UserGrid to -1, the form runs as expected, without errors;
2- If I set the "result" property of menu option to "procedure" and place a Do Form TestBug1 inside the procedure, the form runs as expected, without errors.

If I do all these things in VFP9 without any SP's, everything works as expected. This has been confirmed by another individual.

Posted by Emerson Reed on the UT
Posted here by Russell Campbell

I've just run into this bug and in my situation, VFP crashes even with ColumnCount = -1. -- Tamar Granor

Also, changing a Grid's ColumnCount, (and having set grid's memberclass property to a column class defined in a .prg) does not create the correct number of columns.

For example doing these steps produce the error :
grid1.recordsource = ""
grid1.columncount = 0

//... code that creates a cursor with N number of columns

grid1.recordsource = "curWhatever"
grid1.columncount = 3 // this creates only 1 column instead of 3

-- Theof

SP2 broke data group headers repeated on subsequent pages
Serious Report Bug with Data Groups Introduced in VFP 9 SP2

The details are in my blog at:

Basically, if you mark a data group to repeat on subsequent pages, and the it just so happens that the last detail for a group prints at the bottom of a page, thus, the data group footer overflows to the next page .. you get a major bug. The data group header prints at the top of the next page BUT it's printing the data from the NEXT record. Then it backs up and the data group footer prints for the correct record. Then the detail records for the next group begin printing WITHOUT printing the data group header for that group.

Reported by: Cathy Pountney

Print When logic is evaluated at the wrong time in VFP Reports

The timing of when the Print When logic is evaluated is at the wrong spot in the Report Engine. There are situations where variables change (and even record pointers can move) between the time the Print When logic is evaluated and the time the objects are printed. Therefore, the Print When is evaluating the wrong information compared to what is printed.

Reported by: Cathy Pountney
VFP SYS(1037) no longer has a PRINTER button in Vista

VFP 9.0 SP2, running on Vista, the SYS(1037) command does NOT have a Printer button any more so you can't chose a printer.
As it stands now, we will have to use Get PrinterOffsite link to
() to prompt the user for a printer, then use SET PRINTER TO to set the printer, then use SYS(1037) to prompt the user for options. This is a real PITA for the user to have to go through all these dialogs.

Reported by: Cathy Pountney

Comments by Christof:
It's not just about being able to select a printer. It's now impossible to let the user make changes to print setting like print quality, color, duplex, etc. In Windows XP this was possible by clicking on the Properties... button in the printer selection dialog that you could open from SYS(1037). This button does not appear in the similar looking dialog that comes up with GETPRINTER()
VFP Dangling Datasession caused by reports

If you run a report using a reportlistener from the FFC directory, and you use a successor listener, and the report is called from a form with a private datasession, you end up with a dangling datasession when the report is complete.

Reported by: Cathy Pountney
VFP Detail Footer Band -- Wrong record

When processing the Detail Footer Band, the record pointer has already been moved to the next record instead.
VFP Preview - Zoom level not always programmatically changeable

If the resource file has any reference to the Window State or the Toolbar Docking stored in it for a particular report, you can no longer change the zoom level programmatically.
Shapes stretched across Detail Header and Detail Footer bands whacko

A shape that stretches from the Detail Header band, through the Detail band, and ending in the Detail Footer band is out of control and paints incorrectly.
Squished Printing
Gap with multiple data groups on reports

A gap is printed when multiple data groups exist on a report and one is marked to reprint when the data group overflows to the next print.

Steps to Reproduce
public oForm
oForm = Newobject('form')
oForm.grid1.ColumnCount = 1
oForm.grid1.Visible = .t.
oForm.grid1.Left = 16 = 16
wait window 'ObjtoClient Left = '+Transform( Objtoclient( oForm.grid1.Column1, 2) )

Actual Results: 51, Expected Results: 35
YAG's blogs have indicated some willingness to consider issuing further code to fix some of the still-outstanding regression bugs listed on this page. My suggestion is that we do whatever is most likely to encourage that short-term result here, and leave other issues for another time and place. My two cents. -- Ken Dibble
String Comparison Bug
I found a serious bug with collations (e.g. set collate to german).
If you compare large Strings (multiple 100KB) with the operators "=","<>" you get an Out-of-memory-Error.
? REPLICATE("x", 538852)<>REPLICATE("y", 538852) && CRASHES

? REPLICATE("x", 538852)<>REPLICATE("y", 538852) && WORKS FINE

Crazy WorkAround: Use !(s1==s2) and it works...

The following two errors can occur (both verified):
43 - There is not enough memory to complete this operation.
1308 - Insufficient stack space.

If you work with strings near the limit (in my testprogram it has been 153689 bytes - but it varies) you see crazy things like

x=(s1=s2) && --> no crash
?(s1=s2) && --> crash


have fun,
Alexander Lagler

This is essentially the same bug I reported to MS feedback on 09/21/2007. It is not new to VFP9 SP2. See, where you may wish to add your validation. - Rick Borup

See Also Solutions To VFP 9 SP 2 Bugs SP 2 problemwith Vistaand Borderstyle Vista Aero Issues

Category VFP Bugs
( Topic last updated: 2010.01.10 04:42:44 PM )