GRAFUG Meeting April 12, 2008

Thanks to everyone who attended the April 12, 2008 GRAFUG meeting (and sorry it took me so long to get this out .. but Iíve been swamped and just got back from a week at Microsoft)


We didnít have any news at the meeting, but I do have some good news to pass along that has happened since the meeting. Last week was the Microsoft MVP Summit in Seattle & Redmond where many MVPs gathered for lots of sharing, learning, and sneak previews at new things (under NDA of course). The Fox MVPs had a chance to sit down with a few people from the Fox Team and discuss some of the most critical bugs in VFP 9 SP2 and plead our case to have them fixed. We were pleasantly surprised to learn that they had already begun looking into some of them, fixed a few already, and are willing to consider more. The logistics of how they are going to distribute these fixes to us is still up in the air .. but the good news is that weíre very hopeful weíll get some bug fixes, especially that nasty one having to do with Data Groups in Reports.  

Main Topic

Rick Schummer had lots of things to talk about and as always, we all learned a lot! First, he talked about the state of SP2. He stressed that itís been wrongfully given a bad rap because of a few bugs despite having fixed over 100 bugs. He stressed having everyone load it and test their apps with it so that we can flush out any other nasty bugs that might need to be addressed by Microsoft. Rick has a white paper on his website ( that explains how to load VFP 9 RTM, VFP 9 SP1, and VFP 9 SP2 all on the same machine and have them play nice together. Of course, another alternative is to use virtual machines to host each of the different versions.

There are a few good sources for finding information on SP2:

List of bugs:

List of workarounds:

Series of blogs by Bo Durban:

Next, Rick showed us the app he wrote to help with SW Fox registrations. He was showcasing the Outlook Nav Bar utility written by Emerson Stanton Reed. Itís a free utility available on VFPx ( and itís extremely simple to use. Rick said within a few hours he had this thing loaded and implemented in his app. He said he had to add 3 or 4 class libraries, add some path stuff, then added a few lines of code in his startup program. That was it!

Rick also showed us the FoxChart utility available on VFPx (I canít remember who wrote it). This thing was really cool and lets you create all kinds of nifty charts in your application. The charts can be exported too, which means they can be added to reports! Itís still in the alpha phase .. but itís way cool!!

Lastly, Rick talked about Advantage Database Server by Sybase. This is a database engine that uses DBFs. The concept is that you write your Fox app, use DBFs, but talk to the DBFs through their ODBC database engine. So why would you want to do this? Well .. one reason is that they have been able to get around the 2 gig limit! Another advantage is that because you arenít using Fox to talk to the DBFs, thereís less chance of corruption.

Thanks Rick Ö we all learned a lot!!

Next Meeting

May 10 Ė Mike Feltman

(Note, Toni Feltman isnít able to join us as we had previously hoped! Maybe next time!)

Collection Iteration and Arrays

Visual FoxPro has great support for collections. Virtually all of the objects that can contain other objects have a native objects collection that can easily be traversed to access their members. Object collections provide a great access point for performing the same or similar actions on groups of objects. They also provide the means necessary to locate and act upon objects in a loosely coupled fashion. In this session Mike will introduce some utility functions and classes that:

1.       make it easy to dynamically create and act upon collections, 

2.       dramatically reduce the amount of redundant code you write in dealing with collections,

3.       helps you to eliminate object dependencies and write code that is more adaptable and easier to maintain,

4.       eliminate drill down code

Visual FoxPro also has a wealth of functions for dealing with arrays, however; developers often write very redundant code when it comes to dealing with arrays. In this session Mike will also provide a set of utility functions and classes that streamline redundant array operations and add more power and flexibility to arrays.

Attendees will learn...

  1. How to easily access objects and groups of objects from anywhere within a containership hierarchy with a single line of code without drilling through the object hierarchy or writing error prone lengthy object references.
  2. How to perform operations on groups of objects that are not contained within a single container.
  3. How to make single line calls to convert an array to a string, merge 2 arrays, remove specific items from arrays, remove duplicates from arrays and more.
  4. How to create loosely coupled object references that wonít break when controls are moved or even renamed.

Future Meetings

June 14 - Andy & Marcia

Andy Kramek and Marcia Akins are coming to Grand Rapids for a special all-day marathon meeting involving 5 topics. There will be a nominal fee ($10 for members, $40 for non-members) which includes snacks & lunch. There are a few seats left, so please send me an email to reserve your space now!!


Cathy Pountney

GRAFUG President & Secretary


If you'd like to be removed from our mailing list, or this email did not reach your preferred email address, please let me know.