Thursday, September 30, 2004

Visual FoxPro Tip: VFP 9 Project Output to Debugger

Cool features in the Debugger:
Open your debugger and rebuild your project. All of the project info as its built is directed to the Output window.
Shift+Click Close in the Options dialog now outputs all your option settings to the Output window. This is a great way to learn how to set up your environment.
As I was talking with Randy, he brought up that these were all in the Docs under What's New but like many other devs, it's hard to go through everything that's new on a regular basis.

VFP DevCon Attendance Numbers

(unofficial numbers) 350 Fox Attendees. Approximately 150 Access/VB (simultaneous show) attendees.
I did a show of hands at my Power Up session and found that the majority in that session were using VFP 8 but some were still supporting some apps that were running in older versions.
I spoke with Rainer Becker (head of dfpug - the other night and he told me of a support call he had right before he headed off from a user who had a (gasp!) FoxPro 2.0 DOS application running under DOS 6.02 that had been running for years without a problem. Until now. What happened? It was all about temp files. Once those were cleaned up, then the app kept on running without a hitch.
Small gripes: the lunches and "showcase" are too far away from the sessions and hard to find. Hope that keeps traffic going for the vendors...
Also seem to be missing some vendors - ACCPAC has their equipment here but no one in the booth as does Database Creations.
Still, all the regulars are here: Oakleaf ( , West Wind (, F1 ( , Stonefield ( , Micromega (, Mind's Eye ( and dbi-tech ( . (MS doesn't need any more plugging <g>).  Markus and Claudio are here from EPS but obviously they don't have a booth (Code magazine is a competitor to Advisor) neither does David Stevenson from FoxTalk. There are also some other vendors (likely from the Access/VB side) - FMS ( and the team of Alison Baltzer and Paul Sheriff (

Craig showed me a neat thing at DevCon...

Although he's not an official "attendee", Craig Bernsten (  just showed me something he's working on in VFP 9 - the Solution Manager, a replacement for the project managemer.
It manages multiple projects in a single "Solution" (like the Visual Studio Solution Explorer). Within the project manager aspect, you can now delve down into the field level and index level in the data tab. You can also choose to Build All Projects within the solution.  The Other Files tab doesn't just list the image files, it even previews the image.
He tells me it's a "proof of concept" but the concept is cool and I can't wait!
Go Craig Go!

DevCon Keynote Cleanup

Wow - over two hours of almost pure demos ...what a great opening to what I'm sure will be a great conference!
Ken finished going through VFP Resources, including the web site, whitepapers and blogs. Also referring to new books and magazines:
FoxPro Advisor Magizine (
A new book: New In Nine: VFP's Latest Hits ( (
Pricing: Same as VFP 8
Always included in MSDN Subscriptions
Enjoy your VFP 9.0 jelly cell pads - don't use it as a mouse pad!
Summary and Call to Action
Not released yet - but grab the beta - it works with VFP 8
There will not be a refresh to the beta before the release
Report any issues
VFP 9 works better with SQL Server
VFP 9 works great with DotNet
Scheduled for Q4 2004 Release
Then of course, Ken wanted to leave with a bang with some ideas of things they are working on....(not for 9 but after)
User can type in "my" and it shows a submenu of applications, options and other details.
My User Identity - and it automatically replaces that text with SYS(0)
A content list of blocked code that could be used to help write new code. You choose the activity (like Browsing an XML column) and it automatically puts in the code. This is very similar to Intellisense but it makes the writing of the code much faster.
Intellisense in FoxPro against the DotNet XML component. You can work directly with the DotNet object in VFP.
Goal: Allow Fox developers to access DotNet components within FoxPro.
First real mention of DotNet : 2 hrs and 20 minutes into the keynote.
Looks like this keynote will go for a full 2.5 hours.
Finished off with a video of Kiss!
Yag - Thank you Las Vegas! Good night!

VFP 9 Keynote - Reporting Features

automatically turns on the new built-in preview app included with Visual FoxPro 9 with better zoom features, multiple pages and more. It's an XBase app so you can customize it yourself.
Goals: there were many , including the need to protect existing FRX investments
But Three key areas were changed:
Both with features you can use immediately and others that are more extensible.
Engine can now handle multiple detail bands.
Designer now sports easier to use dialogs and is more extensible and have access to Report Protection.
Output - much more options
The new designer now works better for multiple character sets (multiple languages on a single report), right-alignment (no jaggies), better image resolution. The Preview now matches what's printed (thanks to GDI+).
Now you can actually use GDI+ to manipulate the output.
Multiple Detail Bands means that you can have one report with multiple detail bands. The detail bands link to each child alias in the Data Environment and then when they run on the report, you only get the data from each one. You can also go through the same data twice to do "pre-calculations" in one pass and then display it in another pass.
The Report Protection feature will let you lock aspects of the report designer so that users can only modify the parts of the report you want them to.
The new ReportListener lets you chain reports together so you can print (and preview) two reports together so they appear as one.
Exporting to HTML is now directly supported with the new ReportListener, including images (which are stored to a separate file).
The Report Listener can be subclassed so you can do cool things like highlighting individual text based on its value (without having to create multiple objects)
as well as all the great sessions here at DevCon on the report writer.

Randy Brown - Keynote Demos

Randy - thanks for continuing to support the product (Visual FoxPro) and you really inspire us to make it better for you.
Great set of tools - Class Browser, Object Browser, Task Pane, Toolbox . Now expanded with the new Data Explorer (written by Ryan Katri).
This tool lets you browse through various remote servers directly in VFP. This can be run inside the Task Pane or on its own.
Persists access to the existing data sources that remembers the connections after Fox closes. The Data Explorer makes browsing data just like the Server Explorer in DotNet. To me, it feels like the Data tab in the project manager but now, it does it with remote servers (without the need to create views) - definitely a time saver if you work with remote data.
It also includes its own little Query tool so you can write SQL against remote servers and see the results. It also supports running and viewing, adding and editing stored procedures. Also provides access to SQL functions.
The DataExplorer also lets you read new data types found in SQL, like the new XML data type in SQL Server Express.
You can drag and drop support from the Data Explorer right onto programs. It will write out all the code required to connect to it.
CursorAdapter - new MapBinary property creates fields with the new Blob data type. This Blob type works back and forth with data directly. Running something like:
APPEND MEMO Media FROM GETFILE() and grabbing an image
The content of the memo field will be the binary
MemberData allows you to extend information about properties to your form. With MemberData, you can extend customizations about properties. By default, custom properties are lower case. But by opening the MemberData Editor, he was able to relabel it with a proper case, move it to the new Favorites tab. Memberdata is written as an XML. You can even specify your own Property editor, demonstrated with the new Anchor property.
The Anchor property lets you resize controls based on their relation to others. (no more resizing code - it's handled automatically). It runs from an Anchor Property Editor (written by Doug Hennig).
Demonstrated the new MENUCONTEXT that lets you replace any system menu. This is described in better detail in FoxPro Advisor's October 2004 issue. But as an example, you can actually re-define the new Property dialog and do even more.
No longer need to use a General or Image file. You can use the PictureBind property which will link directly to the binary blog data, as if it was a table.
More of a neat tool - Randy demonstrated his new Fox Media Player which played music, videos and more, using the new shape and PolyPoints capabilities to create its own "player effects". Not only a player, it actually took streamed video and added it to the Blog data and then displayed it directly, playing "cowbells" just for Ken.
Also showed the Rotating Labels property.

Wednesday, September 29, 2004

YAG - VFP Keynote SQL Demos

Major SQL Enhancements
The ability to do nested queries and subselects is going to be huge. Not only were the performance times better (4 seconds vs .004) but the fact that you have one command to do the work of what you previously needed 4 is welcome.
VFP SQL and SQL Server SQL are far more compatible
DELETE products FROM manufacturer WHERE manufact.proddisc=.T.
UPDATE products SET price = price *.9 from manufact WHERE proddisc = .t.
Ability to do a SELECT on your Buffered table. Now you can compare
SELECT, FROM customer a  WITH BUFFERING = .F. JOIN customers b WITH buffering = .T.
New corrections made with the new SET ENGINEBEHAVIOR 90.  Top N now works properly. If you only ask for the top 9, you will only get the top 9 (previously, you would get the top 9 values).
Transactions on Free Tables
Major Performance Improvements on SQL Speed
New type of Index: a BINARY index. - IDEAL for Logical fields.
Table with 1000 roads and an index on DELETED().
The new BINARY index
The old index with a delete would bloat the CDX for DELETED records from 24K to 56K.
With the Binary Index, the file is only 4K and after the deleted now , the file is STILL only 4K
This is great for network files.
FLUSH FORCE now absolutely forces the flush directly on the Operating system.
SYS(3054,12,"cMemvar") - now puts SQL ShowPlan to a memory variable or to a file.
New Data type: varchar (a character field that automatically does an RTRIM) - just like SQL.
ICASE( ) now lets you create an inline case statement
SELECT ICASE(prov="ON","Ontario",prov="QC","Quebec")
New CAST function to convert a field to a new data type in one single statement.
XMLAdapters - now supports nested XML. LoadXML now accepts any XML with XPath.
CursorAdapters - tell cursor adapter to automatically return a value for a new record (On Demand Record Refresh)

Calvin VFP Keynote Part 2

Calvin Hsia
(gonna show you something you've never seen before...)
Project Manager and Property sheet now has Font settings
Background Compile
Underlines and verifies each code as you type it ( catching
Memo Tips Intellisense
So when you browse through a table with memo fields, the tooltip shows the actual content of the memo field.
Intellisense now also works with the WITH statement as long as you say
WITH oGrid AS grid
FOR EACH lo AS Column IN THIS.Grids
Runtime Intellisense
Convert YT to Yours Truly
(Toni Feltman wrote an article on this in FoxPro advisor recently)
More Advanced Tablet Functionality
You can now distinct between Pen Down and MouseClick events
With IsPen() function to tell you that the click event was fired by the user using the Pen.
Display Orientation - lets you change VFP's orientation (twisting it 360 degrees)
New Clipboard Functionality
You can now place Rich Text Format onto the Clipboard
Calvin also demonstrated the ability to create a ScreenSaver with VisualFoxPro
AutoComplete populates a table to create a drop-down of recently used terms.
He opened the AutoComplete table showing how you can change the weight and count of each item to make them show up easlier
Class Browser now supports program classes.
Enhanced Binary Support
No need to take ASC(SUBSTR( to the code.
More parameters BINTOC and CTOBIN remove the need to do CHRTRAN to convert Bin values
User can now sort the Document view by name or location.
Demonstrated some of the new GDI+ functionality supported in VFP, including gradient brushes and ability to create Bezier curves directly in VFP .
Showed a really cool GDI+ trick by which you can capture the parts of the desktop and export it directly to an object on the image or into other applications (like Paint) - no more need for snag it tools.
Power Events
Ability to BINDEVENT to an HWnd. Including tracking events like preventing the user from shutting down the computer dynamically, new media is inserted and more. To demonstrate, he took a picture with his Digital camera and as soon as he put the media card in, VFP then loaded the JPGs without even waiting for the user. It even grabbed all the details from the image. It can even be used to look for the existence of files. Without having to use things like FILE(), as soon as the file exists, VFP can respond to the event when a file changes.
You can even bind to screen events so you can track when new forms are created.

DevCon 2004 Keynote with the Fox Team Part 1

20 Years of the Fox - The Road to Microsoft Visual FoxPro 9.0 ( a bit spotty but I'll clean it up later)
After a start of auspicious SNL videos, Ken got started with the Road to Visual FoxPro
Ken, Calvin, Yag, Randy Brown , Richard Stanton
What Was Not In The Keynote
No Markus with a short haircut
Jim Duffy singing and dancing
Drew Speedie in slow motion
Rick Strahl working on his three sessions
Toni Feltman with a fox tail
Doug Hennig in a swimming suite
No cheesy slides
DAO, RDO, ADO, Jet , MSMQ Demo
VFP 9.0
Most of VFP 9 will be demos
FoxBase+ 1.02 - 1984
Ken actually showed FoxPro 2.6 DOS - 1989 (with his legal version of Fox 2x when he was working at Flash)
Antarctica, Jan 2004 - Susan Graham went on vacation and ran into Dave Fulton
They had a great Interview with Dr. Dave recorded on Monday.
More of less aggrssive pursuing hobbies, collecting and playing violins, photography etc.
Not as much programming unless forced to - working with video software (all MS, of course <bg>)
Rushmore- always had a huge affection for it now that it's been included in more MS products
Remembering the 1991 Comdex
When they demonstrated Rushmore, they invited everyone back to Perrysburg
one guy who said "you can't read the data that fast"
So Dr Dave couldn't believe VFP is still alive after 20 years. His first assumption on joinng Fox was that they would merge Access and FoxPro -" it's's like the Fox has 9 lives...."
Richard McAniff, VP MS Office came up and reminisced how he used to work on LAN Manager and then went to work with Access. He wasn't familiar with databases and someone asked him to work on Fox. Why don't you go to Perrysburg and meet Dr. Dave?
He joined the Fox team as the MS Program Manager to introduce Fox 2.5. He said we're going to ship on x date even though dev said we can't (and they did).
Got started working with VFP 3.0 and Eric Rudder and other people who have really gone on pretty big in Visual FoxPro.
To this day, Richard still says "we used to do this in FoxPro".
He now runs Excel, Access and Office programability but his "heart" is still with Fox and with that he introduced Visual FoxPro 9...
Cue the music from 2001 a space odyssey as Mike Stewart showed the Big box...
More in next post....

Las Vegas and Pre-Con

Arrived last night in Las Vegas and just did my first Pre-Con. Advisor's got three conferences going on today, one just finishing (GroupWise) and the two just starting (VFP and Access) so if you arrive and find a bunch of network guys hanging around, that's why.
Be prepared for the cab ride - it's about $40 from the airport and the RW Marriott is way off the strip.  Nice place though - the Irish Pub is apparently where they do most of the jams...

Flying into a storm...

Well, I'm DevCon 2004 (a bit concerning due to some family issues that may require my immediate return but...) Sure enough as I stand here in Ottawa International Aiport, the storms caused by Hurricane Jeanne have wreaked havoc for New York, Philly and other places...but not for Pittsburgh or Chicago. Which leads me to what I have said for the past ten years of flying from YOW:
When given the choice, never fly through Philadelphia.
I have never flown through there without a delay. I'm sure it's possible (maybe I'm a jinx) but it's gotten me off to enough bad starts that now I just look for another route...

Tuesday, September 28, 2004

Scoble on the new MSN TV

For those who remember it, WebTV wasn't THAT bad a service but I have to question why they are trying to re-launch it this way. Scoble says he's getting a look at it tomorrow and the Engadget review talks it up in a great way but the screen shots and the like look just like the old WebTV. Sure, it's got Ethernet now but how many years did we have to wait for that? (our local cable company has been offering Interactive TV based on Web/MSN TV for two years now)

Why not just make an X-Box add-on that does exactly this? (the prices are the same and it might be a better way of getting GM+GP (grandma+grandpa) to spend time with their grandkids)

MSN TV launches Oct 4

Another Shared Source from MS

This time, it's the FlexWiki as noted by Scoble.

Good on them - detractors may suggest it's just a PR campaign but what isn't?

Microsoft releases FlexWiki to Shared Source

Saturday, September 25, 2004

Beware of Spyware - use firefox??

Ran into my first nasty FireFox spyware/adware. Something hijacked my start page in FireFox! Now it points to some non-existent web site.

Spyware isn't just a Microsoft problem and it's not just a matter of IE having more security holes than other products (regardless of what many say) - it's also a matter that MS is the biggest target, they are the biggest barn in the field.

Unfortunately, that comes with the territory. But other browsers need to be wary - as they gain in popularity, security holes will be appearing for them as well.

This is every browser's problem - IE is just one of the biggest (and easiest) targets.

Firefox - Rediscover the web

Rick and Browsers links to ricK
strahl's recent post on browsers you know. If enough people react, maybe
Microsoft will fix IE --ok. No one likes to fix older code but come on!

I use both ie and firefox for many of the reasons rick noted --some
sites just don't work with firefoX- Granted it's getting better but
Microsoft would do themselves a great benefit by showing they aren't
abandoning their existing users .
users would still have to upgrade (which they rarely do) but fixing the
standards compatibility in internet explorer would help microsoft fight
off the continuing loss of popularity and possibly restore some of its

Of course. They could just make older IE an open source project ...

WinForms or XAML?

Not sure what to develop your next dotNet app in? Here's a view from
the trenches originally noted by Scoble

Thursday, September 23, 2004

What's new @ic#code

Interesting idea - the fact that you could create a platform based on DotNet without having to pay for it. Wonder where this will lead...

Just as interesting (time between beta 1 (5/2004) to RC (9/2004) - believe me - I know what it feels like...

What's new @ic#code

Guy Kawasaki - The Art Of the Start

Guy Kawasaki has a new book out - The Art of the Start, a guide to individuals who want to start their own company, build their own dream.

I remember Guy speaking in 1991 at Fox Software's DevCon. I had already read The Macintosh Way but his same irreverent style came through when he spoke (I hope he got his car as he asked for his Mont Blanc pen). I still have the autographed Selling the Dream and yes, I will likely die bleeding six-color blood. (cripes, I just did google on that and I came up with my own blog entry - that's not good - why isn't six-color blood a common term yet?)

Check out the Art of the Start web site - it provides a link to his cool EQ test but lots of other stuff.

If you have never heard Guy speak, check out his material or email him. Getting on his mailing list is worth the price of the admission.

Tuesday, September 21, 2004

Palm Vs PocketPC

The Wiki's got a great thread going on the pros and cons between Palm or PocketPC.

If you use either device, be sure to check it out.

Palm Vs Windows CE - FoxPro Wiki

Comments on comparing education

Steve makes some valuable points on the dangers of comparing universities with such a narrow (two schools and a separate blog) sample.
He's right that there are no "clear winners". Technology is changing way too fast for a school to plant their roots in one system, without being being outdated.
And technology isn't the decisive factor here either - Those who want to learn will learn, even with the worst professors, and those who don't, will always find something else to do on campus, even with the most inspiring ones. I just wish schools would ensure they get the inspiring ones to be their public face.

Comparing education systems based on their technology

(yes, I originally found this blog because of Scoble's note on it BUT it was kind of interesting all the same)

Read Alex Mallet's summary of his first week at MIT. Malletrivia: Summary of the first complete week

Wow - "There's an incredible amount of material packed into each lecture" - and it sounds interesting...

Compared to some of the lecture content I have seen at our universities, you really must get what you pay for. While it sounds like Alex is writing frantically down notes in his classes, at least he's finding something worth writing about in them.

Case in point: one of our local universities (Carleton) puts some lecture classes on the TV (like many universities do) - but you would think they purposely find the most boring professors to teach them. They put up PowerPoint slides with 30 points on them, speak in monotone voice (yes, imagine the typical caricature of the university lecture from years ago), tell the students to print their notes which they give out in PDF format, using the LARGE slides (if anyone can tell me how you can take an existing PDF of a powerpoint presentation and then shrink the content of the PDF file so it won't take up one slide per page, (revised) without owning Adobe, please do!).

This has to be one of the biggest arguments for teacher re-certification (tried to find a reasonable link on this but couldn't). Computers and TV are mediums for knowledge today - but only put people who know how to use them in front of them.

This isn't a slam against Carleton - I know (revised) they have some great professors but where they show a real apathy is to the type of teaching they put forth to the public. Yes, in Canada, the cost of education is much different than in the US and many Canadian grads will say "if it's not the same, it's better than in the US" but our universities really need to teach their professors how to embrace technology and take advantage of it - and if they already do it, then they need to show people that they can do it (kind of like blogging - it's not enough just to blog, you have to tell people that you're doing it) (Note: if you know of some, add some comments and tell me where - I'd love to hear about them)

One school doing something like this is our local community college Algonquin. When our daughter was taking her classes there, while I didn't like their software persay, each class had a discussion group, white board, etc directly hosted by the school and the materials were fairly easy for them to find. Comparing the two, I ended up leaving with the impression that Algonquin College was far further ahead technically than the (slightly) more expensive Carleton University was.

Note: revised from Ted and Steve's comments

higher priced education posts about
a school that has embraced Tablets. Everyone has a tablet- now they want
to make it a requirement ..ummm ...this is HIGH school --- grades six
and nine?

they must get one heck of educational discount

Monday, September 20, 2004


Found this site from Simple Geek with this great quote:

"Process is killing Microsoft. Don't get me wrong - the old days were a bit to loose and wild out here in the field, but things have swung so far the other way it is ridiculous. There is no room for individual ingenuity ... "Never tell people how to do things. Tell them what to do and let them surprise you with their ingenuity." General George S. Patton, Jr. The new Microsoft is all about telling you how to do things in excrutiating step-by-step detail... Microsoft will look in the mirror someday very soon and see a circa 1980s IBM staring them in the face."

As the originating post says, you have to take it with a grain of salt (very anonymous blog) but certainly a point of view that isn't quite as obscure as it otherwise might sound...


Ted Roche: Get Your FireFox here!

Ted notes how the FireFox developers have broken their targeted goal.

If you haven't checked out FireFox, you certainly should (not to be confused with Foxfire! - which you should also check out if you are a developer looking for reporting tools).

One of the features in the new build I really like is the little RSS logo that appears in the lower right hand corner of any site that has an RSS feed. Now that's making it easy to deal with RSS.

Ted's Radio Weblog

Argh! - MSN Toolbar Traps for Alt+M

In the latest of strange UI choices that truly infuriate me, the MSN IE Toolbar (yes, I know I can be using FireFox which I do but I use IE for my Webex sessions), hitting Alt+M puts you directly into the MSN search screen.
That's not so bad - right? Well it is when you are remotely connecting to another system and want to use Alt+M to access a menu shortcut.
Webex has a great feature called Access Anywhere that lets you connect into other computers for support purposes. Just like PC Anywhere, etc.
I've kicked myself out of it about 5 times today alone simply because our application has a Modules menu and so I hit Alt+M and wham! Go to MSN Search which closes down my Access Anywhere.
To make it worse, I can't even change it anywhere. Looks like this is one toolbar extension I will be removing. At least the Google toolbar works.

Safari Bookshelf: Offsetting the huge price of IT books

MSDN recently offered a special offering to MSDN Subscribers, providing access to Safari Bookshelf, an online repository of more than 1,500 fully-searchable technical books. I can't provide the link since it requires you to login so I'll just direct you to the Safari Books Online site to start.
However, you can also try it for 14 days on O'Reilly's portal and InformIT.

While many will recoil at the thought of reading an actual book online (I, too, prefer to have a hard copy for some reading efforts), the ability to have

The Safari premise is fairly straight forward:
1. Buy a monthly subscription ($14.95 gets you 10 slots but the MSDN trial was giving 20)
2. For that month, you receive "slots" on your bookshelf. You can purchase more if you are a voracious reader.
3. During the month, you can pick any book from the 1,500 they have, all nicely categorized into tech topics.
4. You can preview the books but if you want to read the entire content, you have to add it to your bookshelf. (note: some larger books take up more than 1 slot - reminds me of Columbia house))
5. Books on your bookshelf must remain on the bookshelf for a minimum of 30 days. But unless you're in the habit of reading a book a day, (you know for those who read Ayn Rand's Atlas Shrugged in 3 hours ), that should be plenty of time.

The collection is pretty extensive. It includes Addison Wesley, O'Reilly and even a few from Microsoft Press (although I'm still waiting for Code Complete 2 to appear). I'm still waiting for a response from their support team (5 days and counting) but I've grabbed a few books and while it takes some getting used to, being able to cut and paste out of the books for code samples and also to cross-reference sources is a huge benefit.

I would be interested in knowing though - I would hope the authors get royalties on "borrowed books" but I would doubt it. But if you know for sure, drop me a line and let me know.

The cost may appear steep. But I noticed that Craig is reading a book a month
so if that's the case, the low subscription fee is almost a steal.

I'll have to see if I still think so after my 30 days are up.

Safari Books Online

Sunday, September 19, 2004

Do you have what it takes to start your own business?

If you haven't done it yet, check out Guy Kawasaki's Entrepreneurial IQ test!

It's actually a pretty good test that asks some very pointed questions and gives some very reasonable explanations for those you might get "wrong".

Takes about 5 minutes...

Guy's Business IQ

Kok Kiet's Blog: Dive into Python

Python is one of those languages I keep on hearing about but when I started looking at it, I wasn't able to find all the tutorials I wanted (also didn't have much time)

Found this great link to Dive Into Python!

Now I just need the time to get into it...

Kok Kiet's Blog: Dive into Python

Knock Knock - It's Andy and Marcia calling on security

The September issue of FoxTalk has an interesting article on security from Andy Kramek and Marcia Atkins that noted GenMenux, a public domain tool I wrote quite a while ago (93/94). It's nice to know this tool is still very much in use by the VFP community, even though there haven't been many (any) updates in the past few years. That's mostly because there haven't been many reasons for updates to it. It works in FoxPro 2x and all versions of VFP.

Tamar Granor asked a while ago about how to handle Most Recently Used (MRU) with GENMENUX and it got me started on writing a driver for it. The tricky part is that you would have to use the driver's defined tables, etc. It was written pretty quickly and I'm sure Tamar's re-done it for some of her recent sessions at DevTeach and other shows. If you're coming to DevCon, be sure to see how she's implemented it.

| | Publications::Article

Friday, September 17, 2004

SP2 breaks outlook web access?
Something to be aware of if you are running XP ...

Sunday, September 12, 2004

VFP ListBoxes: Right-Click with Multiple Selections

Something to be aware of if you like to use right-clicks with list boxes in Visual FoxPro.
VFP doesn't act like other applications in the way it responds to right-clicks in list boxes.
If you turn multi-select on, select multiple items and then right-click on one, only the item right under the mouse will remain selected.
This is unfortunate because it means you can't do a right-click action on multiple selections in a list box.
Use the MS Forms List ActiveX control instead. The difference is that you need to use the MouseUp method (since it doesn't have the RightClick method)
The control is Forms.Listbox.1 so you can do a createobject("Forms.listbox.1")
Subclass this control into your main foundation class and you can create your own RightClick method so none of your other code needs to change.
Other changes?
The Listbox uses a Font object (instead of FontName, FontSize). So either get used to using the Font object (Font.Name, Font.Size, etc) or create your own FontName and FontSize properties with access and assign methods.
PROCEDURE FontName_Assign (tcFont)
THIS.FontName = tcFont
THIS.Font.Name = tcFont

Friday, September 10, 2004

Setting up Team Foundation Services

Well - found this blog with a solution to my setting up of Team System problems.

As it turns out, you CAN install VS Team on a single server - just specify as your Database Server name and it works great.

I'll report back as soon as I get it all up and running.
Tales from the Doghouse - Setting up Team Foundation Services

Source Control HOWTO

In case you haven't picked up on it yet, Eric Sink (SourceGear and SourceOffSite) is starting a series of articles on Source control (not specific to SourceSafe but just in general)

Good reading.

Source Control HOWTO

Customer feedback - A Great Story

Great story on the perils of offering customer feedback.

Customer feedback

Sometimes the bug isn't apparent until late in the game

Who said all bugs were easy to catch?

Raymond describes a situation where a bug was found (on someone else's software) that had to be fixed by the WinXP team. My question would be: who reported it and did they discover it on the business time-clock?

"I'm sorry - but I have to play Doom for the next 8 hours in order to see if dev really did fix this bug or not."

Sometimes the bug isn't apparent until late in the game

Tuesday, September 07, 2004

Software Project Management: Work Item Database

Hmph...Team System's work item database sounds awfully similar to SourceGear's SourceOffSite Collaboration Edition. You create a bug - when you check in code, you identify the bug number and can update the issue as fixed or not.

I, for one, wish that SourceGear would offer more in the way of their collab edition. It sounds like VS Team Edition is going to be way out of the market for many development teams.

Software Project Management

Software Project Management with Visual Studio: Sharing Information Is Key

MSDN recently pointed to an article on the approach being taken in the Team system to software project management. What I found to be the best "take away" from this was "Getting crucial metrics about the project is important to track status, and to make decisions."

Status is important but so is severity and lifespan. The warning posted in the article is that "Often, the project lead becomes lost in the details of tracking and is not analyzing project risk or making course corrections on the project."

Well another big problem is making sure the leads stay AWARE of the issues going out. Whenever you distribute metrics, be aware that too many numbers simply make people ignore them. Of course, if you've already flipped the bozo bit on the person who gathers them, you're only setting yourself up for failure.

But seriously, just because a project may have 1500 open "bugs" doesn't mean it's impossible to figure out what to look at. Break them into quantifiable categories: reproducible, enhancements (like it or not, customers will likely see many ERs as "bugs"), critical, by design and others.

Our development team at one client has a rule: no critical bugs over 24 hours, no serious bugs over a week. Well, the problem with those rules is that how do you get rid of critical bugs? No - You don't re-categorize them to a lower level with a work-around.

Regardless of the tools people use to track bugs, the only way not to get lost in the metrics is to have some discipline about going through them. Maybe Visual Studio's Team System will help this (I'm still in the process of installing it as it requires a separate DB server).

I don't find the discipline that hard to work with: Critical within 24 hours, Serious within a week. After that, duplicated non-fatal bugs are looked at. Even if you only look at 5 a day, you're still chipping away at something and getting out of the death march.

But sharing the metrics are critical. We send out a daily status report on support calls and issues, followed by a weekly one with a larger breakdown and then a monthly summary. All of these are done through email. Sure, we could ask people to look at them on a web site but guess what? That makes it "someone else's responsibility". Put it in their face (although not as a pop-up ad) and then be brutal. There's no reason for people to say "I didn't know" if you have at least given them every opportunity to see what's going on.

And if your project lead becomes lost in the details, then someone needs to be trained better and soon.

Visual Studio 2005 Team System: Software Project Management

Friday, September 03, 2004

The Pains of Removing Spyware

Somehow I ended up getting some adware on my server and it's been driving me crazy for the past few days. You take a look for various tools to get rid of it and the ones that want you to pay $29.95, I'm always just a little suspicious of.
Seems like MS should really be more proactive in dealing with the scourge.
Anyways, I found Ad-Aware SE Personal (which is FREE!) from LavaSoft and does a quick and easy job. They do sell more advanced tools but if you are unsure of what you have, try it out. Definitely worth the download.
Check it out at
Note: with Spyware, you always have to be aware that the tool you use isn't just creating more spyware or adware on your system. This tool is fairly good and so far, I haven't see any reports of it adding more ad/spyware.
Hey Microsoft, you just bought LookOut to enhance Outlook. Do the same for Windows. If you continue to purchase companies that are providing solutions to problems in Windows that are being created by hacks, the rest of the world will thank you.
Ad-Aware is definitely a useful tool for this problem.

Wednesday, September 01, 2004

New White Papers on new VFP 9 Report Writer

Craig notes that Ken's put up two new white papers on the VFP 9 reporting system. The first is
What's New in the Visual FoxPro 9.0 Report Writer and the second is Visual FoxPro 9.0 Report Writer In Action.

Ted's Take on Tablets

Ted Roche hits the nail on the head with this last comment about Tablets:
Tablets are a solution in search of a problem. Third Microsoft attempt at Pen for Windows. It's still halfway between a powerful notebook and a PDA - too big for a pocket and too underpowered for a desktop replacement (for you and I, anyway). No question there's a niche, and each generation gets better, but the touchscreen premium still seems high for most of the use cases my clients have.
Having lost my PDA for the time being (due to a cracked screen), it makes me feel slightly concerned about getting a Tablet PC where I'm sure the replacement cost of the screen would be even greater.
Eurocom ( offers fairly decent machines that are good desktop replacements but I'm still griping about the lack of visibility in Canada.

FoxBlog - Buy a Tablet PC

Yes, I agree with Craig (and Scoble). The Tablet is still a better bet - the only problem? It's still not available or displayed enough in Canada.

Case in point: someone calls me:

Q: What laptop should I buy?
A: Nothing but good things to say about Dell laptops, UNLESS of course (I say) they want to be able to go into a meeting and treat it like a notepad - in those cases, they want a Tablet PC.
Q: Oh yeah, that would be really cool! (who wouldn't say yes to this?). Which tablet should I buy then?

Hmmm... Now the real question. I lean towards Toshiba because they have a good track record with laptops but realistically, we don't see enough Tablets here in Canada (and I'm in Ottawa, a fairly heavy hi-tech area) to make a real good judgement call on it.

In addition, the pricing is broken down so that it becomes one of:
A: Well, the Dell is priced at $xxx and gives you x,y,z. A tablet only gives you x and y but also a,b and c for the same price.

Boy, I wish Dell would make a Tablet or someone would just send me one so I could become an advocate for that company. A local refurbisher makes Acer Tablets for approx. $1999 Cdn which seems reasonable until I compare it with an $1999 Dell Laptop which has twice as much capacity, albeit without the Tablet.

Final A: Go to a store and try the Tablet. If you like it, go with a known name (Toshiba or Acer).

For someone who lives so close to the US, it's amazing we don't get the market penetration on really cool technology.

(besides, if I wanted a Mac in my home, this is definitely the one I would want. The Mac is still pretty much the only computer that can look good in a living room (with an exception perhaps for a Media PC, which is hidden)