VFF logo

Virtual Fox Fest 2024

An online conference presenting the latest in Microsoft Visual FoxPro development techniques

May 8, 2024

Geek Gatherings Logo

Sessions

"Level" shows the expected level for attendees for a session. Click a speaker's name to see their bio.

Fix Problems Fast with Advanced Error Handling and Instrumentation Techniques

Presenter: Doug Hennig
Level: All levels

Your customer calls to report that their application crashes. Where do you start to figure out what's causing the problem? This session looks at techniques for troubleshooting application problems, including advanced error handling to provide complete state information and instrumenting your applications to determine exactly what steps led up to the crash.

You will learn:

  • How to create an error handler that captures important state information
  • How instrumenting your application aids in troubleshooting
  • Techniques for quickly tracking down and solving problems

Prerequisites: None

Go Beyond VFP's SQL with SQL Server and MySQL

Presenter: Tamar E Granor
Level: Intermediate, Advanced

The subset of SQL in Visual FoxPro is useful for many tasks. But there's much more to SQL than what VFP supports. Those additions make it easy to do a number of tasks that are difficult in VFP.

In this session, we'll solve some common problems, using SQL elements that are supported by SQL Server and MySQL, but not by VFP. Among the problems we'll explore are combining a set of values contained in multiple records into a delimited list in a single record, working with hierarchical data like corporate organization charts, finding the top N records for each group in a result, and including summary records in grouped data.

You will learn:

  • How to combine data into a delimited result
  • How computed table expressions (CTEs) make it easy to work with hierarchical data (and much more)
  • How the OVER clause lets you rank records in a variety of ways
  • How SQL Server and MySQL let you compute summaries as you aggregate data

Prerequisites: Some familiarity with SQL

String Theory: Working with Flat Files in VFP

Presenter: Rick Borup
Level: All levels

We all know VFP is great for database apps, but did you know it's also a superb tool for working with strings? In my own work, I frequently encounter situations that require importing data from or exporting it to many different flat file formats. VFP's wide range of string functions and low-level file commands make it easy for developers to handle anything from lowly CSV files to hierarchical XML. Come to this session to see how it's done and learn some tricks and traps based on real-world experiences.

You will learn:

  • About importing flat file data into VFP
  • About exporting VFP data to flat files
  • Why dates and numbers can be tricky
  • Why Excel files are not data
  • About methods to make working with flat files easy

Prerequisites: None

Unit Tests with FoxMock

Presenter: Christof Wollenhaupt
Level: Intermediate

The idea behind unit tests is to test units as small as possible at the earliest time. With small sample classes, this works beautifully. When applying unit tests to a real project, especially existing ones, we quickly discover how many complex interdependencies there are in our code. Most VFP applications use global application objects, and most objects rely on others to perform their duty.

FoxMock is a mockup framework mainly for unit tests. With FoxMock you can dynamically create objects with methods, properties, subobjects and—most importantly—behavior and validation. By replacing all dependencies of the tested object with mock objects, you can restrict the test to a single object without going through a heavy redesign of the entire app.

You will learn:

  • What FoxMock is
  • How to create unit tests with it
  • How to minimize dependencies

Prerequisites: None

Visual FoxPro for 2024: Installing on a New Developer Computer

Presenter: Rick Schummer
Level: All levels

Back in the day, it used to be that developers switched computers every couple of years and reinstalled Visual FoxPro and everything came direct from the installer they purchased from Microsoft. Now in 2024, we have the Visual FoxPro installer, several Service Packs, components updated by a group of world-wide developers, open-source projects, and even a set of bug fixes and enhancements a mile long called Visual FoxPro Advanced (VFPA).

How is an experienced developer or someone new to VFP development supposed to keep track of everything and where does one find all the updates, components and the like? This session will serve as documentation for the process of setting up a new machine, the locations to get all the downloads and the process of getting your shiny new computer all set up with the most up-to-date copy of Visual FoxPro, even multiple versions on the same computer for those developers who have to maintain different versions for different projects. What needs to be considered when moving from one computer to another and how does it all get moved over? Can I really run Visual FoxPro from a memory stick?

Beyond the installation, there are lots of considerations to contemplate like how should I set up my Config.FPW file for development, should I use a startup program to configure the Visual FoxPro IDE and if so, what should be included in it? Or are you a fan of the Environment Manager to handle configurations because you work on several different projects or have many different customers that require tweaks to the IDE to make it work?

We'll cover these challenges and more!

You will learn:

  • Where to get a license to Visual FoxPro 9
  • Where to get the latest Visual FoxPro 9 Service Packs and which ones to install
  • What core parts of Visual FoxPro have been updated and where they are found
  • Where the most updated Xbase components and tools are
  • What order things have to be installed in and whether it matters
  • What add-ons are critical
  • How to use the Config.FPW to make your IDE your IDE?

Prerequisites: An open mind that there might be a nugget or two that you did not consider, and the desire to openly contribute to the conversation to help out your fellow developers.

Platinum Sponsors
Diamond Sponsors
Gold Sponsors