An online conference presenting the latest in Microsoft Visual FoxPro development techniques
October 13, 19, and 25, 2022
"Level" shows the expected level for attendees for a session. Click a speaker's name to see their bio.
See our YouTube Channel for videos from all conferences.
Presenter: Joel Leach
Level: All levels
Note: if you cannot access YouTube, you can watch the video here
For years, Microsoft has been telling developers to “rub some DevOps on it” to improve our processes and code quality ... but what exactly is DevOps? Is it something we can use with Visual FoxPro? In this session, we will explore the DevOps methodology and implement some of these ideas in VFP using the Azure DevOps service.
You will learn:
Prerequisites: Familiarity with VFP
Presenter: Rick Strahl
Level: All levels
Note: if you cannot access YouTube, you can watch the video here
If you're building modern applications that need to interface with various system or operating system features, you'll likely need external functionality that isn't available natively in FoxPro. Whatever your needs are, you can probably find this functionality in .NET either via built-in features, or by way of open source or third party libraries. With the wwDotnetBridge Interop library you can access most features directly, or you can build small .NET components that often make those interfaces easier to use.
While wwDotnetBridge can directly call .NET code, if your code requires a number of calls or accesses complex types it's often much easier to create a small wrapper library in .NET and call that from your FoxPro code.
In this session you'll learn how you can easily create small .NET components and use them from your FoxPro code, using both new lightweight tools like Visual Studio Code to create, build and run your code from the command line, as well as using full development IDEs like Visual Studio or Rider to build, debug and test .NET code and then call it from your FoxPro application. You'll find out about useful tools like LINQPad to quickly experiment with .NET code, and decompilers like Reflector, ILSpy, DotPeek and JustDecompile to examine API signatures so you know what's available to call for your FoxPro code.
You will learn:
Prerequisites: Some familiarity with .NET is helpful but not required
Presenter: Tamar E Granor
Level: All levels
Note: if you cannot access YouTube, you can watch the video here
GoFish is a community-grown search tool for VFP. It's faster and better than the Code References tool that comes with VFP. In this session, we'll look at how to use GoFish to find and replace in your VFP projects and folders.
You will learn:
Prerequisites: None
Presenter: Christof Wollenhaupt
Level: All levels
Note: if you cannot access YouTube, you can watch the video here
I'm sure I'm not the only one who is confused by the pile of technology that Microsoft is throwing at us in quick succession. Before I get a chance to take a deeper look at some of these offerings, they are already outdated, replaced, or maybe only renamed.
In this session, we take a closer look at the Windows Runtime API. It's best known as the technological foundation of the Universal Windows Platform aka the apps you download from the Microsoft Store. WinRT isn't limited to new apps which are out of reach for Visual FoxPro. With a little effort and some glue code in C#, it's even open to traditional Visual FoxPro applications.
WinRT was meant to be the successor of Win32API. As such, its feature set matches much more modern computing capabilities and requirements. For instance, there's an OCR engine built right into the runtime. Unlike many other offerings these days, all of it runs locally on the device. There's no subscription you need, nor do sensitive files need to be shared with cloud services. We look at how OCR works from VFP and how you can combine this with PDF generation and scanning documents.
There are so many more features in WinRT. We will look at various APIs to access sensors, use machine learning, cryptography, and speech recognition. Some features in the WinRT API require package identity, which provides us with the opportunity to look into the package concept and briefly cover MSIX deployment.
This session is not about creating your own Universal Windows Platform application or the Microsoft app store. We also won't look into any modern UI, because the UI part of WinRT isn't supported in classic desktop applications like Visual FoxPro.
You will learn:
Prerequisites: This session includes VFP and C# code. Some features require writing .NET code.
Presenter: Robert van der Hulst
Level: Beginner
Note: if you cannot access YouTube, you can watch the video here
This session will show you how you can use existing Visual FoxPro code in .NET using the X# compiler with very few changes. After the migration, you can call that code from any .NET application, such as Desktop applications with Windows Forms and WPF, Web applications, and Mobile applications. The migrated code will be edited, compiled, and debugged in Microsoft Visual Studio.
We will also look at how the compiled functions and procedures are converted to .NET assemblies and how you can call them from other .NET languages, such as C# and VB, and from Win32 applications such as Visual FoxPro.
Finally we will show how you can create new components in X# and use them in your Visual FoxPro applications.
You will learn:
Prerequisites: None
Presenter: John Ryan
Level: All levels
Note: if you cannot access YouTube, you can watch the video here
The technology landscape has changed significantly since Fox apps were first distributed in the late 1980s. In those pre-Internet days, data often resided unencrypted on a single machine and a simple "encrypt" compilation option was enough to satisfy developers that their apps had protection. This protection remained largely unchanged as development moved from DOS to Windows where multi-user applications became the norm. Lack of DBF security pushed many towards client-server databases with their own security challenges, and applications were increasingly exposed to the Internet. In recent years, hacking has become a serious business threat with regular stories of leaked customer data or damaged databases.
The old Fox "encrypt" option no longer serves a useful purpose and while many VFP developers consider that their work doesn't warrant special protection, customers increasingly expect that steps are taken to protect their businesses and data. Consultants are doing the rounds at large and small customers, offering alarming security audits to sell more of their services and possibly replace applications they declare to be insecure.
While VFP does have some distinct vulnerabilities, development habits and add-ons make it possible for VFP developers to seriously harden their offerings with minimal extra effort.
This presentation covers vulnerabilities of native VFP apps with or without additional protection, as well as Windows vulnerabilities and ways to mitigate them. Common protection mechanisms are reviewed along with ways those can be breached. Tools like Refox and VFP C++ Compiler are covered, showing how they can make hacking of a VFP app exceedingly difficult at minimal cost or inconvenience to developer or customer. The presentation ends with techniques that move hacking into the "too hard" basket, forcing a detailed C++ decompilation that would be beyond the capabilities or motivation of all but the most determined hacker.
You will learn:
Prerequisites: While any VFP developer can follow the practice habits and protection techniques, this is most useful for seasoned VFP developers who are aware of VFP protection techniques and often will already use one or more routinely
Presenter: Rick Borup
Level: All levels
Note: if you cannot access YouTube, you can watch the video here
Want to learn how to switch your VFP apps from DBFs to SQL Server? Then this session is for you. Drawing on lessons learned from real-life experiences, this session shows you how to use the VFPX Upsizing Wizard to create the SQL Server database and how to modify your VFP code to work with it. Along the way, you'll learn many tips and tricks to help things go more smoothly and avoid some common pitfalls. There's a lot to know, but it's easier than you think!
You will learn:
Prerequisites: A working knowledge of Visual FoxPro and familiarity with the SQL language
Presenter: Rick Schummer
Level: All levels
Note: if you cannot access YouTube, you can watch the video here
If you release customer applications to customers who do not have a Visual FoxPro license, it is fairly likely that you eventually will run into a support situation where you need a tool to repair or clean up data, produce custom queries and reports, or even work with source code. This is where having a runtime command window comes in handy.
I've talked with many developers over the years and it seems like everyone has either their own home-grown tool or have adopted one of the community contributed tools. I've seen some very basic ones that just get the job done, and I have seen some very sophisticated ones that work easily with local Visual FoxPro data and more complex remote SQL Server data.
In this session, I will introduce you to various community contributions, discuss some of the requirements I have had over the years of supporting thousands of customers, and then walk through FoxCommand, the tool created by the White Light Computing developers to help support our customers.
You will learn:
Prerequisites: None
Presenter: Dave Crozier
Level: Intermediate
Note: if you cannot access YouTube, you can watch the video here
Recently, you may have noticed the increase in the number of vendors offering and requiring access to their data via a bespoke REST API. REST has taken over in the last few years from both HTML and SOAP as the preferred method of accessing online data and using JSON as a data format with full end-to-end authorization.
There are a number of ways to access REST APIs. One method is to use Rick Strahl's West Wind software. Another is to use Chilkat ActiveX components, which is what we will concentrate on during this session.
Chilkat ActiveX components work seamlessly with VFP and contain many more components other than the REST services covered here. They are available in trial mode for those of you who wish to evaluate the software with no time constrictions.
POSTMAN is free software allowing the user to test out any available REST service and the Chilkat ActiveX components contain a number of REST functions amongst the many available, all accessible with VFP!
There are three things to know when using REST APIs:
You will learn:
Prerequisites: VFP Knowledge and an interest in Web Data Access via VFP
Presenter: Eric J Selje
Level: All levels
Note: if you cannot access YouTube, you can watch the video here
Visual FoxPro developers, in general, are not like other developers. As a rule, we work directly with the end users, we do the design ourselves, we code it, we test it, we deploy it, and we support it. (This is not the case with all software developers.) For our software to be secure means we need to know what security issues exist all along the software development chain. That's a lot to know, but this session will cover some general concepts to consider to reduce the risk of your applications.
You will learn:
Prerequisites: None
Presenter: Robert A Colish
Level: Intermediate
Note: if you cannot access YouTube, you can watch the video here
The goal: keep VFP as-is while adding two-way data sharing for mobile devices. Cost is a factor so keep it low.
Possible solution: create a Drupal site to share to mobile while keeping the VFP application as-is. Since Drupal is open source, there is no ongoing maintenance fee. Drupal is very similar to VFP in many ways: views, forms, essentially endless possibilities.
This session uses a real world example. The company has over 10,000 accounts, three sales reps, five technicians, and two route drivers. The in-house VFP software does everything they want. Adding the Drupal site allows them to go paperless and lets the office process all A/R, service, and CMS with the existing VFP system.
Existing VFP Applications can "go mobile and stay local" at the same time!
You will learn:
Prerequisites: None
Presenter: Doug Hennig
Level: All levels
Note: if you cannot access YouTube, you can watch the video here
The last session looking at new VFPX projects was at Southwest Fox in 2018, so it's time for an update. There are at least 20 new projects since then, so this session will cover as many of them as time permits.
You will learn:
Prerequisites: General knowledge of VFP
Presenter: Tuvia Vinitsky
Level: Intermediate, Advanced
Note: if you cannot access YouTube, you can watch the video here
Sending emails has long been a staple of desktop applications. Originally emails were just text, but nowadays almost all emails are in HTML format, an ability VFP seems to have left behind. Not any more!
In this session, we will create a form for sending HTML emails complete with images and formatting. But why stop there? We will also learn how to actually save and manage sent and received emails, all in the native email .eml format! This has been used by clients to replace third party programs such as Constant Contact. Keep it all in VFP and own the app and the customer experience!
You will learn:
Prerequisites: VFP development experience and a basic understanding of HTML and email