Archive for July, 2005


Big Announcement!

Class Compare is a new tool from White Light Computing and it is entering beta. I have been working on this new tool for the last six months which compares VCX classes together. It is simple to compare PRG-based classes with any text comparison tool, but comparing VCX classes together is a bit more difficult. In fact, the more I worked on this tool, the more difficult I found it.

The use cases for this tool is simple. Developers regularly get updates to framework classes from the framework vendors. What has changed? What are the new classes? What are the changes to the existing classes? What classes were removed? What are the new attributes and behaviors? What classes changed baseclasses? I need a tool to help find this out with the framework I use.

Another use case is comparing the intermediate classes (subclasses from the framework classes) I have for different customers and their projects. To help keep these intermediate classes in synch I wanted a tool to help me understand what is different.

The next change is to compare two versions of the same class or the same class library. This is fairly simple today if you are using a source code control system, but I know all developers do not. This tool will help until they can move to a source code control model.

This tools not only compares two classes together, it will compare two class libraries together, and two folders of class libraries together. A report is previewed to show you details found during the comparison. If you have Beyond Compare from Scooter Software, Class Compare will optionally take advantage of this tool and create some extremely useful output. While I have selfishly developed it for my own needs, I believe the alpha testers have also found this a valuable addition to their VFP toolkit.

So the call is out: I need beta testers! I have been testing this with a few alpha testers since April and they have helped me iron out many of the rough spots and made numerous enhancement requests which have been implemented and made this product so much better.

What do you have to do to become a White Light Computing Crash Test Dummy? Simple, send an email to (making sure to replace the AT with the appropriate email syntax) with the following information:

  1. Name
  2. Framework(s) you use
  3. Whether you have Beyond Compare from Scooter Software (not essential)
  4. How many developers in your organization might have time to test it

Not everyone who applies will be accepted to the beta program. You will know one way or the other in the next week or so.

This tool is VFP 9 only. Why? It takes advantage of the “no init” feature of the NEWOBJECT() function (one of the features that really allowed this tool to work exceptionally well) and the BINDEVENT() function’s hooks into Windows events. So only apply if you own VFP 9.

What can you expect during and after the beta? You will get an initial EXE and one report form. I need you to test the program to the best of your ability. Hopefully using it in ways I have not. Bug reports will need to follow a certain format which you will get instructions with the initial beta release. I will be enhancing the tool and fixing bugs, and sending out occasional updates. I still have a couple of features to implement (which you will learn about when I ship the initial beta). Once the beta is over you will get a free copy of the tool.

But do not get to excited about getting a free tool because this will be a freebie tool when it is done. That is right, free, even though it is a product I think I could sell. It definitely will be on par quality and feature wise with HackCX Professional, ViewEditor Professional and the upcoming MenuDesigner Professional. It will even have a Help file (not in the initial release).

So let me know if you are interested in the beta program for Class Compare.


Taking a break before heading to bed tonight, I listened in on the Discovery wake up call via a video stream from NASA. Today is spacewalk day which hopefully is not overshadowed by the news media’s constant probing to find some fatal flaw in the thermal heat shield. After the kids choir music was played to wake the astronauts, the crew was told they were “a go for email.”

There are so many things we take for granted here on planet Earth these days. I never gave much thought about getting email while I am in space. How cool will it be when I can post a blog from space? Well I can tell you I have permission to buy my trip as soon as I win $100 million or more in the lottery. Now all I have to do is get the nerve to buy a ticket. :)

Another cool note, Sergei Krikalev, the current commander of the space station crew is starting his third year in space. He is on the way to setting the record for most days by a human in space. He will break the record before his tour is up. This is his second stay on the International Space Station after one extended stay on Mir.


Absolutely true! It was announced today scientists funded by NASA have discovered what is being called the tenth planet. It looks like this planet is larger than Pluto, has a moon, is three times as far from the Sun as Pluto, has an orbit which is 45 degrees from the main solar system plane, and is temporarily called 2003 UB313.

Full news release can be found on the Jet Propulsion Laboratory site.


It certainly is shaping up to be a busy second half of the year with respects to presentations.

You may have read the White Light Computing news release a couple weeks back announcing my selection to speak at the 12th VFP DevCon Germany 2005 held November 10-12, 2005. I am very excited as this will be my first trip to Europe. I have heard from other VFP developers the German DevCon is a fantastic conference with premium sessions and a super facility. It is a priviledge to be select to present at this conference.

I can also announce I will be speaking at the 9th F1 Technologies DevCon, September 26-28, 2005 in Toledo. Mike and Toni have asked me to do a presentation on Debugging VFE Style, a session on XCase, and another session on integrating developer tools into your VFE development. F1 put on a great conference in 2002 in Vegas, so I have extremely high expectations for this year’s trip to Toledo.

Looks like the rest of July and all of August will be packed with session preparations, which should be fun. It has been more than seven months since we wrapped up the writing for What’s New in Nine. The break has been nice, but it will be good to get back to do some more formal writing. I have also promised David Stevenson a series of articles for FoxTalk. Looks like Microsoft Word will be getting a workout.


Noooooooooooo, not again. and CNN are reporting the fleet is officially grounded until further notice because foam was spotted flying off the external tank during yesterday’s launch. This was being heralded as one of the smoothest shuttle launches to date and in less than 24 hours the fleet is back in mothballs.

The irony of this decision is the crew of Atlantis is prepare to fly and rescue the Discovery astronauts if there is a major problem with the orbiter and cannot be repaired. So what happens if the orbital boom survey or the pictures from tomorrow’s space station fly-by show more than a chipped tile and it cannot be fixed? God help the decision makers if this ever comes to pass. What happens if the same thing happens to Atlantis on the way to rescue Discovery? We could have two-thirds of the orbiters crippled and hanging in space. Not a good thought.

Is Russia ready to rescue the US Space program again?


I can now admit I have not used the report chaining capability Microsoft added to Visual FoxPro in VFP 8, at least until two days ago. It is the typical case of finally hitting the need for the feature.

One of my clients called me into a project where they are struggling to make a report break to a new page based on the data. I played around with the report for an hour and was able to break to a new page where they wanted it to break, but the side-effects were forcing a page break later that was not desired. I tried a couple more things by adding extra groupings, but it was not working as desired.

Since the developer was using VFP 8, I thought of chaining reports. I split the one report into two reports and called them with the appropriate commands:


The NOPAGEEJECT clause tells VFP to not close the print job. This worked like a charm when printing to the printer. I then moved to the preview logic and whammy, I was getting two previews for each of the records. Crud! When I tested running the reports to Acrobat I was getting prompted for two file names. Double crud! Another great idea crashing and burning. Even though this report is not previewed as often as it is printed, I suspected the users were not going to be happy with this, especially since they like to print the reports to Acrobat.

So I fire up VFP 9 and run the exact same code. I was not expecting different results, but I wanted to see how the reports looked in the new Report Preview window. I was going to investigate how the new ReportListener might help. To my surprise, the preview window was only opened once per record. The VFP 9 report chaining is way smarter! A hidden gem (at least to me).

As a bonus, the graphic images not printing to the Acrobat 6 PDF driver in VFP 8 are printing just fine from the VFP 9 reports. Double bonus. So once again, Richard Stanton (Fox Team Report Designer guy extraordinaire): you da man!

So if you are struggling with reports in any version of VFP prior to 9, head out and upgrade and see if your struggles are reduced or even eliminated. This simple little behavior change just sold two copies of VFP 9 to the two developers I am working with on this project.


The launch of Discovery this morning was spectacular as expected taking 7 new heroes back to space. This is the second time Discovery has healed the space program as it followed Challenger into space back in 1988.

Thanks to CNN (excellent coverage of the updated features on the shuttle system) and NBC (very cool animation) for the excellent coverage this morning. I really liked the new camera views and look forward to seeing a launch in person one day.


Earlier this morning I posted about the different Web pages where developers can see what is new in the various versions of VFP. After posting I headed out to a client and on the way I recall some pages in the Fox Wiki where this information is detailed.

No sooner do I get to the client that BOb Archer hits me with an email about the Visual FoxPro Version Feature Concordance and just a little bit ago Steve Black was kind enough to let me know the same. Steve provided an extra hint as well:

“There, by version of Fox, are all the NEW functions, events, commands, files, pieces, etc and below that, what’s ENHANCED (fly the mouse over a few and note the popup that explains what’s new).”

This is a superb resource and a way cool feature!! Kudos again to Steve Black!

(Thanks to both BOb and Steve for nudging me, and my client for providing the 10 minute break during a very busy day to post this entry {g})