Aug
07

Fox Frame Debugger Tip

Those of you who have attended my Debugging Essentials presentation at a conference, user group, or via the Foxcast video know I generally prefer using the FoxPro Frame debugger instead of the Debug Frame. One of the disadvantages of using the FoxPro Frame is the need to close all the individual debugger windows to deactivate the debugger and remove the debugger toolbar. This can be a big time waster if you are jumping in and out of the debugger (something I do frequently).

If you use the Debug Frame all you have to do is close the Debugger Window. One click on the close button or one Alt+F4 keystroke and you are set. It obviously is not so fast with the FoxPro Frame. So after years of repetitively “slow closing” the debugger windows it hits me to write a program I can hotkey to open and close the windows. You can save the following code to a program (mine is called DebugWindows.prg)


PROCEDURE ShowDebugWindows

ACTIVATE WINDOW “call stack”
ACTIVATE WINDOW “debug output”
ACTIVATE WINDOW “watch”
ACTIVATE WINDOW “locals”
ACTIVATE WINDOW “trace”

RETURN

PROCEDURE HideDebugWindows

LOCAL lcOldOnError, llWindowNotActive

* Can replace with structured error handling
* if using VFP 8 or higher. You get an error
* if the window is not open
lcOldOnError = ON(“Error”)
ON ERROR llWindowNotActive = .T.

HIDE WINDOW “trace”
HIDE WINDOW “locals”
HIDE WINDOW “debug output”
HIDE WINDOW “watch”
HIDE WINDOW “call stack”

ON ERROR &lcOldOnError;

RETURN

In my start up program I have these two lines:


ON KEY LABEL F7 DO ShowDebugWindows ;
IN “J:\WLCProject\Tools\DebugWindows”
ON KEY LABEL Ctrl+F7 DO HideDebugWindows ;
IN “J:\WLCProject\Tools\DebugWindows”

The code also works in the Debug Frame, although I am not sure what advantage this could be for a developer.

This is just one more simple example of how you can extend the Visual FoxPro IDE to make yourself productive. If you have not seen Craig Boyd’s post called Visual FoxPro Community Action, go check it out. One of Craig’s call to action is for VFP developers to extend the VFP IDE and to share ideas and code to do so. Just trying to do my little part.

Aug
02

Just when you thought Arizona was a very hot place to be in October, Bob Kocher (the Southwest Fox 2005 conference organizer) works with Microsoft to turn up the heat! Based on the news in Ken Levy’s Monthly Newsletter to the Fox Community, it looks like Microsoft is sending some heavy weights to do keynote sessions at the conference. Calvin Hsia never disappoints with his demos!

More surprises to come:

“More announcements about Southwest Fox 2005 including the disclosure of various free VFP related items for all attendees sponsored by Microsoft. We may also have additional members of the VFP team hangout out at Southwest Fox 2005, so be sure attend this event in October.”

I guess I better get back to prepare for my two sessions. I am really excited by this news. Nice work Bob and thanks to the Fox Team for supporting the conference.

Aug
02

Make sure you are not confused by Fox Broadcasting’s Foxcasting. I’d hate to see developers expecting fantastic information about Visual FoxPro get a shocking surprise with a conservative twist on the news. More possible confusion, Fox Broadcasting has a The Late Night Fox Show and Andrew MacNeill has The FoxShow.

The right place (pun intended) to get your Visual FoxPro Foxcasts is FoxCast.org and the correct place to get Andrew’s The FoxShow is akselsoft.libsyn.com (both are terrific resources). Glad I had a chance to clear up this possible confusion for the Fox Community (tongue firmly planted in cheek).

Jul
31

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 betatestATwhitelightcomputing.com (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.

Jul
30

Go for email

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.

Jul
29

Sedna is not 10??

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.

Jul
27

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.

Jul
27

Noooooooooooo, not again. Space.com 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?