GRAFUG Meeting March 8, 2008

Thanks to everyone who attended the March 8, 2008 GRAFUG meeting.



New Magazine - FoxRockX

The FoxRockx Web site is now open for business. You can check out the contents of the first issue and subscribe. In addition to the magazine, subscribers get full online access to past issues of FoxTalk, including source code, back to 1996. This should be an awesome magazine!!


Job Openings

I recently sent out two separate job postings to the GRAFUG mailing list. One was for an opening in Memphis and the other was a contract position for the fitness industry. If you missed either of these emails and you want the details, email me and Iíll forward the information.


VFP 9 Service Pack 2

We would like to encourage everyone to load Service Pack 2 and do thorough testing of their app. There was so much bad publicity about SP2 when it first came out and that caused the adoptability to be quite low. The concern many of us have is that there may be more bugs out there that havenít been discovered because SP2 hasnít been tested in the field very much.


Rick Schummer wrote a great white paper that describes how to load SP2 on your machine AND still keep SP1 for production. This link to his blog ( explains why itís important to do this and provides the link to the white paper. Please take the time to read through his blog, download the whitepaper, load SP2, test it with your app, and report any feedback.



Main Topic

Jan van Santen showed us some great ideas on how to provide customization of your vertical market app. Jay talked about the design requirements for the custom piece such as the standard app NOT requiring the custom app, and the custom app having the ability to work with objects and data in the standard app. He showed us a simplified version of what is possible and it was really cool.


The standard application has several places where it can call out to the custom application. If the custom application doesnít exist, no big deal. But if it does, and thereís something in the custom app for that particular hook, the custom app jumps into place. For example, the init of all the forms call out to the custom app passing a reference to the form along with the some other information. The custom app can then manipulate the objects on the form at will .. changing button captions .. adding buttons .. and all kinds of things. And with BindEvent(), you can tap into just about anything!


Jay provided the samples and documentation from his session and weíll post them on the website with a password. Anyone who attended the meeting, or any GRAFUG member can email us and get the password.

Thanks Jay Ö We enjoyed the presentation.


Next Meeting


Saturday, April 12, 2008, at 10:00 am. Weíll be back to our normal location at Optimal Solutions.


Rick Schummer


Rick will be showing us a bunch of stuff, including VFP 9 SP2, one of his apps, and Advantage Database Server. Basically, this will be a free-for-all from Rick and Iím sure we wonít be disappointed!!


Future Meetings


May 10 Ė Mike & Toni Feltman


Mike & Toni will be giving us a two-fer so weíll probably run longer than our normal two hours. But then again .. thatís typical for us!


Mike Ė 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.


Toni - TBA



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. Space is limited so please send me an email to reserve your space now!!


         Implementing Design Patterns in Visual FoxPro - Part 1 (Andy)

         Implementing Design Patterns in Visual FoxPro - Part 2 (Andy)

         The 26-Hour Day (Marcia)

         Using ActiveX Controls

         Event Handling in Visual FoxPro



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.