Wednesday, November 22, 2017

Photos of German DevCon 2017

Jean Maurice from France took a lot of photos at the recent German DevCon 2017, November 16-18. They’re available in a Google Photos album at

Tuesday, November 07, 2017

Issue Accessing Microsoft Excel Spreadsheets

A Windows update on October 10, 2017 caused the Microsoft Excel ODBC driver (specifically, the “Microsoft Excel Driver (*.xls)” driver) to stop working correctly. Many of our customers use the ODBC driver to report on Excel data in Stonefield Query, including combining data stored in Excel with data stored in traditional databases such as Microsoft SQL Server in a single report, something Stonefield Query can easily do.

The solution is to use the “Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)” driver instead. However, this requires installing the latest Microsoft Access Database Engine components, which you can download from

Friday, November 03, 2017

2017 VFPX Administrators’ Award

Congratulations to Greg Green for being awarded the 2017 VFPX Administrators’ Award at Southwest Fox 2017. He was awarded this for his work on the VFPXWorkbookXLSX project, a tool that allows VFP developers to read from and write to Excel XLSX files quickly and easily without needing Excel installed. I’ve used VFPXWookbookXLSX for several years and can attest to it usefulness.

Monday, October 16, 2017

VFP's Weird File Naming Rules

Visual FoxPro was written for Windows, which is a filename case-insensitive operating system. So, startup.PRG and startup.prg are the same thing. However, there's a lot of inconsistency in how VFP names files:

  • If you don't specify the extension in the MODIFY command when you edit a file, edited files end up with uppercased extensions. For example, for files named form1.scx and form1.sct, MODIFY FORM form1 results in files named form1.SCX and form1.SCT when you save.

  • If you do specify the extension in the MODIFY command, the extension of the main file is set to whatever you specify and the extension of the memo file is uppercased. For example, for files named form1.scx and form1.sct, MODIFY FORM form1.scx results in files named form1.scx and form1.SCT when you save. If instead you specify MODIFY FORM form1.SCX, you end up with form1.SCX and form1.SCT.

  • The MODIFY command also respects the specified case of the stem name. For example, for files named form1.scx and form1.sct, MODIFY FORM Form1.scx results in files named Form1.scx and Form1.SCT.

  • The extension rules don't apply to VCT files: their extension doesn't change when a class is saved; if it was lowercase before, it's still lowercase after.

  • The extension rules are different for tables. The DBF extension doesn't change case when the table structure is changed or records added, modified, or deleted, or the table packed. CDX files are created with an uppercased extension but if you rename it to a lowercased extension, it isn't changed back to uppercase when you change the index structure, add, modify, or delete records, or PACK or REINDEX the table. FPT files are also created with an uppercased extension but if you rename it to a lowercased extension, it isn't changed back to uppercase when you add, modify, or delete records, or PACK the table. However, it is changed back to FPT if you modify the structure of the table.

Why is this important? Because if you use Git, you may have problems when VFP renames a file behind your back because Git is case-sensitive for filenames. Fortunately, it can be configured to be case-insensitive by executing these commands from a Command or PowerShell window:

git config --global core.ignorecase true
git config --system core.ignorecase true

Here's do a little experiment in VFP to test the case-insensitivity:

md c:\testcase
cd c:\testcase modify command startup.prg && enter some text, save, and close ! git init ! git add startup.prg ! git commit -m "Initial commit" modify command startup && notice no extension specified: when change text, save,
&&and close, file is renamed to startup.PRG ! git status --porcelain > status.txt modify file status && shows that startup.prg has been modified ! git commit startup.prg -m "Saved changes" ! git status --porcelain > status.txt modify file status && shows that startup.prg is no longer modified

Tuesday, October 03, 2017

New VFPX Project: Project Explorer

Project Explorer is a new VFPX project that replaces the VFP Project Manager with a modern interface and modern capabilities. It has most of the features of the Project Manager but adds integration with DVCS (including built-in support for FoxBin2PRG and optional auto-commit after changes), support for multiple projects within a “solution,” allows you to organize your items by keyword or other criteria, and has support for easy “auto-registering” addins that can customize the appearance and behavior of the tool. It includes extensive documentation.

I’m presenting sessions on Project Explorer at both Southwest Fox 2017 and German DevCon 2017.

I’m looking forward to feedback on this project. Please create issues for any problems you experience or any suggestions you have for improvements.

Wednesday, August 30, 2017

VFPX Has Moved

As I mentioned in my earlier blog post, VFPX had to move off CodePlex to somewhere else and the VFPX administrators chose GitHub. The migration is now complete: all projects have been moved, with the exception of a few that were dropped because they never had any source code and were abandoned by their project managers. The new link for VFPX is

Thanks to the project managers who assisted with the migration, and especially to Steve Black, who provided a lot of advice and guidance.

Wednesday, August 09, 2017

Southwest Fox 2017 Early-Bird Discount Extended

Oops, we goofed! One of us went on vacation and completely forgot to schedule the end of July reminder to get registered before the Southwest Fox 2017 early-bird deadline. So to make up for this colossal mistake, we have decided to extend the early-bird discount of $50 through August 21st.
The conference takes place October 26-29, 2017 in Gilbert, Arizona and we really hope you can be there. Head over to the registration Web site today.

If you've already registered, we thank you. Can you help us remind your fellow developers who have been procrastinating about the looming deadline by sharing this message, drop a hint at your local user group, or tweet about it? Spread the word by telling others you going on our Facebook event.

Check out our list of amazing speakers and dig into our session tracks. Follow the news about the conference on our blog.

Monday, June 19, 2017

Southwest Fox 2017 Super-Saver Deadline Approaches

Listen to Andrew MacNeill’s FoxShow podcast featuring Rick, Tamar, and I talking about Southwest Fox 2017.

Registration for Southwest Fox 2017 has been open for a few weeks and there’s less than two weeks until the Super-Saver Registration deadline. If you register before the end of June, you save $125 and we’ll throw in a pre-conference session worth $99. Not only that, but you’ll be entered in the drawings for up to three scholarships that will reduce your costs some more.
Check out the speakers and topics on the conference website.

Please beat the rush so we still have some fingernails left when July begins! No need to wait, we won’t charge your card or cash your check until August!

Thursday, June 01, 2017

Southwest Fox 2017 Registration Now Open

Registration for Southwest Fox ( is now available. See for a list of speakers and for a list of sessions. Super-Saver Registration, which saves you $125, is available only through June 30th, so don't wait.

Putting on a conference is a risky endeavor. Conference centers require a guaranteed minimum income to block the dates of a conference; for a conference like Southwest Fox, that minimum is in the tens of thousands of dollars. We have to commit to the conference center by July 2nd and need your support by July 1st to make that commitment. We will not send out any "We need your help" appeals so please do not wait; register by June 30th! We know most of you like to wait until the last minute to avoid the credit card bill arriving too soon. We will not charge any attendee credit cards or cash any checks until we have committed to going forward (sometime after July 2), so this is not is a reason to wait.

Rick, Tamar, and I look forward to seeing you in October!

Monday, May 01, 2017

Southwest Fox 2017 Speakers and Sessions Announced

Speakers and sessions for Southwest Fox 2017 have been announced. We're happy to have Toni Feltman back as a speaker this year.

Some sessions I’m personally looking forward to seeing are:
  • Tamar's Turning Data Sideways: Crosstabs and Pivot Tables. I've always been interested in cross-tabs and Excel PivotTables so seeing Tamar (the Queen of VFP SQL) present her take on this is high on my list.
  • Rick Schummer's Data Corruption, the Bane of Our Existence. I was actually the one who convinced (arm twisted, cajoled, forced under threat of blackmail) Rick to do this session, as I think it's very important for VFP developers.
  • Phil's Google Is Your Friend. I always get a lot of great marketing and business ideas from Phil's sessions and this one sounds like another winner.
  • Christof's Optimizing and Debugging. Christof is a "speaker's speaker"; his depth of knowledge of the innards of VFP are unmatched. His subtle sense of humor always makes his sessions fun, too.
I’m also really pumped about my Introducing Project Explorer session. In fact, I’m so stoked, I’ve already started working on the white paper!

Registration opens soon; send an email to if you want us to email you when it’s ready. See you in October!