Visual FoxPro 9.0 SP2 or not... Post 3
Here are 5 more SP2 bugs evaluated. These were all reported by Bernard Bout. Even though I am kind of downplaying the severity of some of these issues, I really do appreciate him posting his finds on the SP2 Bug List and on the Microsoft Feedback site. Part of the reson I am doing this series is to encourage other people to get SP2 installed and evaluated. If you find an issue, please let us know and most importantly, report it to Microsoft. If we all sit back and let other people like Bernard and Cathy Poutney find all the issues, what percentage of the issues are we going to actually find? We can't just sit back and talk about Microsoft as a 3rd party and say that they owe us a better product, but never tell them what's wrong. I believe Microsoft is willing to address critical issues in the core, if we let them know about them.
Microsoft may be willing to address issues in the XSource, but that really doesn't concern me because we can take care of those issues ourselves. All of the XSource is now on VFPX, waiting for issues to be reported and/or developers to fix them....
Issue: Help file missing items off the index tab
Submitted By: Bernard Bout
New to SP2: Yes
Impact for SP2: Low
Feedback ID: 306332
Solution Available: No
Workaround Available: Yes
Bug Location: VFP9 Help
I can’t imagine how this happened, but it did. But just to clarify, all of the help items are in the SP2 help file; the issue is that over 100 help items do not appear in the “Index” tab. This not only affects the index tab, but also highlighting a keyword in code and hitting F1.
The good news is that Bernard has confirmed that Microsoft is already working on this problem and we should have a fixed help file soon. Until then you can use the “Search” tab to locate the help topic you are looking for. You can also just use the help file from SP1. Just make a backup of dv_foxhelp.chm file from VFP9 or SP1 before upgrading and either use Tools -> Options -> File locations to set the old help file or just copy it into the HOME(1) folder of VFP9 after installing SP2 to overwrite the SP2 help file.
Should this stop you from upgrading to SP2? No. It’s an easy workaround, a fix is on its way and it shouldn’t affect your applications in anyway.
Issue: VFP SP2 ToolTipText not displaying for Grid.Column.Header and Grid.Column
Submitted By: Bernard Bout
New to SP2: Yes , but I should mention that this was broken in VFP9 RTM, fixed is SP1 and broken again in SP2.
Impact for SP2: Medium
Feedback ID: 311817
Solution Available: No
Workaround Available: Yes, but probably not satisfactory for developers that use this functionality.
Bug Location: VFP9 Core
I can only speculate that this was broken when the 5 or more issues related to grids or tool tips were addressed in SP2. I can see where this would be very annoying to developers that use this functionality to deliver well polished applications. And especially to see it come and go (new to VFP8, broken in VFP9, fixed in VFP9 SP1, broken again in VFP9 SP2).
(update 03/05 9:37pm - Correction: this bug did not exist in VFP9 RTM. It was introduced in VFP9 SP2)
There is a workaround using a technique shown on the Feedback page and also published in 1001 Things You Wanted to Know About Visual FoxPro by Marcia Akins, Andy Kramek and Rick Schummer. This technique was used back before we had a ToolTipText property for Headers (which was introduced in VFP8). It basically works by using the MouseEnter and MouseLeave events to toggle the Grid’s ToolTipText.
This works ok, but because of the way the tool tips are updated and the way the grid responds to mouse events, it doesn’t always update a smooth as you would like; especially not as smooth as it worked in VFP8 or in VFP9 SP1. And if you are even using these tips you are probably a developer who likes to deliver well polished apps and you are probably not going to like the annoyance that comes with this workaraound.
So if you are using the ToolTipText for Columns or Headers, be aware that they do not work in VFP9 SP2. I would also HIGHLY recommend that you go to the Microsoft Feedback page and cast your vote on this bug. The more (constructive) feedback that Microsoft receives about this issue, the better our chances are of having it fixed.
Should this stop you from upgrading to SP2? Maybe, and only if you are using these tool tips. If you are not, then there is no reason not to upgrade.
Issue: Undocumented change in COM when passing DATETIME value to .NET
Submitted By: Bernard Bout
New to SP2: Yes
Impact for SP2: Low to None
Feedback ID: N/A
Bug Location: VFP9 Help
This is not a BUG, but actually a behavior change between SP1 and SP2. And according to Bernard Bout it is actually fixed in SP2. This was posted to the VFP9 SP2 Bug List because the behavior change was undocumented.
Should this stop you from upgrading to SP2? Absolutely not.
Issue: Web Services Registration - If field returns NULL then error registering Web Service
Submitted By: Bernard Bout
New to SP2: Yes
Impact for SP2: Low
Feedback ID: none
Solution Available: Yes
Bug Location: VFP9 XSource
I have not been able to reproduce this error, nor can I find any difference in code or libraries between SP1 and SP2 that would cause the behavior change. However, Bernard found it and posted a solution. This is an easy fix with an NVL( ). Since this change is in the XSource, I think we should fix it out on VFPx instead of involving Microsft.
(update 03/05 9:37pm - Tamar Granor supplied a valid repro for this issue: http://fox.wikis.com/wikiwebservice.wsdl. Registering this web service using the Intellisense Manager in SP1 works, but fails in SP2 with a "column does not support null values" error)
Should this stop you from upgrading to SP2? No. It’s an easy fix, It only happens in the VFP dev environment and only rarely.
Issue: Changes to the code in FFC\_reportlistener.vcx breaks SP1 reports
Submitted By: Bernard Bout
New to SP2: Yes
Impact for SP2: Low
Feedback ID: none
Solution Available: Yes
Bug Location: VFP9 XSource (though it is not really a bug)
As Colin Nicholls says in the VFP9 SP2 Bug List, this is not really a bug. However it is a behavior change between SP1 and SP2 that caused code not to work from an article, written by Doug Hennig, about including hyperlinking on reports. There are a couple lines of debate between Bernard and Colin about whether this should be considered a bug or not. Since my series of blog post are about dispelling unfair attitudes about SP2, I’m going to have to side with Colin on this one, and I will explain why. But since there is an easy solution, I think everybody will be happy in the end.
In Doug’s article he talks about “poking” through the HTMLListener class of _REPORTLISTENER.VCX and finding this code:
<xsl:when test="string-length(@href) > 0">
<A href="{@href}">
<xsl:call-template name="replaceText"/>
</A>
</xsl:when>
I’m sure this was the start of what we finally ended up with when we got hyperlink support in SP2. However this was undocumented and the final SP2 implementation looks like this:
<xsl:when test="string-length(@hlink) > 0">
<a href="{@hlink}">
<xsl:call-template name="replaceText"/>
</a>
</xsl:when>
Note the attribute change from “href” to “hlink”. So now the code from Doug’s article doesn’t work anymore. Bernard posted a solution from Sergey Berezniker onto the Solutions To VFP9 SP2 Bugs page. His solution was to just add the earlier code back to support both old and new options:
<!--------- Add this --------- -->
<xsl:when test="string-length(@href) > 0">
<A href=" {@href}">
<xsl:call-template name="replaceText"/>
</A>
</xsl:when>
<!-------------- Before this ---------- -->
<xsl:otherwise>
<xsl:call-template name="replaceText"/>
</xsl:otherwise>
</xsl:choose>
Note that this code change would be in the getDefaultUserXsltAsString method of the HTMLListener class in _REPORTLISTERN.VCX, around line number 428.
Another solution and probably a better idea is to just modify Doug’s code to use “hlink=” instead of “href=” or just use the new hyperlinking features of SP2.
(update 03/06: I can confirm now, that changing Doug's code as follows, will fix the issue also)
Change this line:
lcInfo = lcInfo + ' href="' + ;
To this:
lcInfo = lcInfo + ' hlink="' + ;
And add:
SELECT frx
Before:
dimension .aRecords[reccount()]
Should this stop you from upgrading to SP2? No. The change is easy and it only affects projects that have implemented Doug’s hyperlinking code.
This is all for now. I will try to take on a few more tomorrow...
I hope this helps you make an informed desision about SP2. Again, my intent is not to downplay or shun the reported issues. I think they should all be addressed, but we should all make an informed decision about upgrading to SP2 before we completly dismiss it.
Wednesday, March 05, 2008 10:47:41 PM (Eastern Standard Time, UTC-05:00)
SP2 | VFP DevelopmentTracked by:
"Visual FoxPro 9.0" (Termékinformációk fejlesztőknek) [Trackback]