An online conference presenting the latest in Microsoft Visual FoxPro development techniques
October 14, 20, and 26, 2021
"Level" shows the expected level for attendees for a session. Click a speaker's name to see their bio.
Presenter: Rick Schummer
Level: All levels
Note: if you cannot access YouTube, you can watch the video here
It has been a very long time since Microsoft made any improvements to the Visual FoxPro Interactive Development Environment (IDE). Even with the ongoing changes to Visual FoxPro Advanced, the IDE is not seeing any radical improvements. The release of Visual FoxPro 9 included some critical extensibility with the addition of Property Editors and MenuHits. Additionally, we have the ability to create and use Builders and extend IntelliSense to meet our needs. Over the past ten years I have been optimizing my IDE experience to save time via updates and upgrades to IntelliSense, but the most bang for my buck in this regard has been the innovations provided by Thor, which is available from VFPX.
This session shows some of the things Thor provides to extend and improve the Visual FoxPro IDE. Not only will you see some of the great things the Fox Community has contributed to the Thor Repository (a treasure trove of cool functionality and features), but through this process, I'll expose you to some of the plumbing, explain how these tools work, and show you how to create your own tools with the hope of inspiring you to write some of your own extensions via Thor, and (I hope) share them with the Fox Community.
You will learn:
Prerequisites: Ability to install Thor on your computer, or have it installed already
Presenter: Rick Strahl
Level: All levels
Note: if you cannot access YouTube, you can watch the video here
REST APIs or Services that use plain HTTP requests and JSON have become the de facto replacement for the more complex SOAP Based architectures of the past. Most modern APIs available on the Web—from Credit Card Processors, to E-Commerce backends, to Mail services and Social Media data access—use REST services or variants thereof like GraphQL to make their remote data available for interaction.
REST based services tend to be much simpler to build and consume than SOAP services because they don't require any custom tooling like SOAP/WSDL services did and are using JSON which is inherently a much easier format to create and parse into usable object structures. All you need is an HTTP Client and a JSON parser and good API documentation.
In this session I'll demonstrate how to build a server-side REST API using both .NET Core and FoxPro (using West Wind Web Connection) and then demonstrate how to consume those APIs from a FoxPro client application using various JSON and Service client tools. I'll also discuss some common strategies for writing client side API code that helps with error handling and consistent access to API calls via wrappers that abstract API calls into easy to use application level classes that behave more like traditional business objects.
You will learn:
Prerequisites: Some familiarity with Web Technologies. I'll be using some West Wind tools (provided with samples) to demonstrate the FoxPro features but concepts can be easily applied to other tools and even other platform.
Presenter: Tracy Pearson
Level: Intermediate
Note: if you cannot access YouTube, you can watch the video here
In this session we will review how Microsoft Windows handles the monitors' Dots Per Inch (DPI) in a legacy VFP application. We will review the history of what Microsoft has done with DPI changes over the recent versions of Windows. We will work with some code to make a legacy application properly DPI Aware. We will discuss the pros and cons of the different options available.
You will learn:
Prerequisites: None
Presenter: Joel Leach
Level: Intermediate, Advanced
Note: if you cannot access YouTube, you can watch the video here
DotNet2Fox is an open-source library that simplifies calling Visual FoxPro code from .NET desktop and web applications. Have you tried your hand at COM interop only to be met with limitation after limitation? Did you find that exposing your existing FoxPro code over COM would require a major refactoring effort? DotNet2Fox provides a simplified interface for calling into existing real-world FoxPro code, and without all those limitations. This session explores the features of DotNet2Fox and how to use it for successful interop between the two platforms.
You will learn:
Prerequisites: Familiarity with VFP and .NET
Presenter: Kevin Ragsdale
Level: Intermediate, Advanced
Note: if you cannot access YouTube, you can watch the video here
For years, FoxPro developers have longed for multi-threading capabilities. Thankfully, several developers have found ways to provide multi-threaded capability in Visual FoxPro applications. I've used (and tried to use) every published method I know of to create multi-threaded applications, but the easiest method I've found (by far) is by using Christof Wollenhaupt's DMULT.DLL.
In this session, we'll look at multi-threading and use DMULT.DLL to easily add multi-threaded capability to a Visual FoxPro application. We'll create event handlers to act as callback objects for our multi-threaded DLL's and create a Thread Manager to keep track of our open threads. We'll also look at some disadvantages of multi-threading.
You will learn:
Prerequisites: Knowledge of building DLLs in Visual FoxPro is helpful, but not required
Presenter: Doug Hennig
Level: All levels
Note: if you cannot access YouTube, you can watch the video here
ODBC (Open DataBase Connectivity) has been around since the early 1990s, but there's more to it than just connecting to and querying a database. This session looks at all things ODBC, such as whether to use a DSN or a connection string, how differences between drivers affect your code, how different settings in VFP can impact a query, and many more topics.
You will learn:
Prerequisites: None
Presenter: Chris McGuinness
Level: All levels
Note: if you cannot access YouTube, you can watch the video here
This session will cover the integration of Servoy and Jaspersoft based solutions within a larger FoxPro based product suite in a hosted AWS environment. The techniques shown should apply to a wide variety of external technology integration scenarios.
It will look at our experience and lessons learned over several years of hosting FoxPro applications in AWS.
The session will cover direct data access and API interfaces into FoxPro based applications for purposes of integrating external development stacks and reporting tools including the pros and cons of JDBC access to native FoxPro tables vs. several API implementation choices.
You will learn:
Prerequisites: None
Presenter: Jody L. Meyer
Level: Beginner
Note: if you cannot access YouTube, you can watch the video here
This year I had the privilege of learning SSRS or SQL Server Reporting Services. I have found that my VFP Report Writer skills have come in very handy. So, together let us do a few reports to see just how easy it is to create basic, matrix, and drill through reports. While we are constructing these reports, we will get familiar with the interface, learn how to create expressions, and explore adding parameters and how to create conditional actions for the drill through reports.
You will learn:
Prerequisites: SQL Server Reporting Services - Already installed. It is helpful for the developer to be able to write well-formed SQL Server query statements.
Presenter: Tamar E Granor
Level: Beginner, Intermediate
Note: if you cannot access YouTube, you can watch the video here
Recursion is a programming technique in which code calls itself either directly or indirectly. In some cases, using recursion can make code much simpler and more readable. In others, it adds only complexity.
In this session, we'll look at the basics of recursion and how to implement it in Visual FoxPro. (It's easy.) Then, we'll look at VFP problems where recursion is the best choice and some where it's not.
You will learn:
Prerequisites: VFP basics
Presenter: Bo Durban
Level: All levels
Note: if you cannot access YouTube, you can watch the video here
Ransomware uses the latest and greatest exploits to extort money from you. And they are really good at it. Most ransomware victims believed they were protected using the most common ransomware prevention tools and techniques available. But that is part of the problem, isn't it? The hackers have all the playbooks of their victims.
Learn how to protect yourself from over 98% of ransomware attacks using a few, simple, proactive steps, including Patch Management, End Point Detection, End Response, Employee Education, Security Hygiene, Backup Strategies and more. Also, learn how to leverage a Managed Security Services Provider to get high end protection at a lower cost.
You will learn:
Prerequisites: None
Presenter: John Ryan
Level: Intermediate, Advanced
Note: if you cannot access YouTube, you can watch the video here
VFP's longevity may be legendary, but customers and developers sometimes wonder about compatibility going forward, as well as the importance of 64-bit and other advancements that can be difficult to access from 32-bit products. It's worth remembering that VFP is written in Visual C++7 that was released in 2003, 18 years ago, while Visual C++ is now up to Visual C++14 in 2021.
VFP C++ Compiler (VFPC) is a clever VFP add-on that helps to address these concerns by translating VFP projects into the latest 32-bit or 64-bit VC++, allowing VFP developers to offer thoroughly modern options that are portable and easily extensible, and also extremely secure. This combination of benefits is easily accessible using VFPC's various options and your chosen VC++ version to move important VFP source code into a C++ DLL.
This session uses live and prepared VFP project compilation to demonstrate how VFPC works and what it can deliver without the VFP developer needing to write a single line of C++ code. Common compilation options are covered as well as tips learned over the years to increase control over the process. Antihacker options are briefly covered as well as encryption and compression samples that no longer need companion flls, since the C++ source can be baked into the app's DLL.
Presented by VFPC's first commercial user who has used the product since 2010, this session should be useful whether you are a VFP C++ Compiler newcomer or a more seasoned expert.
You will learn:
Prerequisites: Familiarity with the VFP project and standard contents like classes, programs and forms. Experience compiling projects into standard VFP EXEs. Understanding of standard VFP extensibility via FLL. Familiarity with VC++ is not necessary, but can be helpful when reviewing inlining of C++ code.
Presenter: John Kullmann
Level: All levels
Note: if you cannot access YouTube, you can watch the video here
Technology leaders from three different companies will share their VFP journey. Each has a good story to tell and is prepared to answer tough questions. This fun and engaging panel will cover topics listed below while emphases will be put on questions from the audience.
The panelists are:
The session will start with each of the three panelists delivering a five-minute overview of their company, application functionality and development history. A meeting administrator will be responsible for collecting questions from chat and enabling microphones allowing attendees to voice questions.
You will learn:
Prerequisites: An open mind to consider and discuss alternatives
Presenter: Christof Wollenhaupt
Level: All levels
Note: if you cannot access YouTube, you can watch the video here
The definition of a good user interface has significantly changed since Microsoft stopped the development of Visual FoxPro. While WPF (Windows Presentation Foundation) itself is not the latest UI technology either, it is a much better fit to modern UI requirements: scrollable forms, responsive design, rich media support, unicode and emojis, background operations, and customizable designs. We look at a case study where WPF was a superior solution to native VFP. From there we explore the finer details of WPF and how it might help you with your VFP applications.
You will learn:
Prerequisites: Basic knowledge of C# is useful
Presenter: Tuvia Vinitsky
Level: All levels
Note: if you cannot access YouTube, you can watch the video here
Document management used to be a distinct specialty in software applications. But nowadays users expect and need even basic applications to scan and/or store all types of documents and related materials.
SQL Server databases can store enormous amounts of data. But when you start storing documents and images, all of a sudden the database gets a lot more complex. How do you best manage storing large volumes of electronic materials in SQL Server? Long delays in data access, storage problems, VFP view problems... it seems problems abound with using a SQL Server database designed to hold data as a repository for documents.
In this session, Tuvia Vinitsky takes you through the ins and outs of designing and implementing a SQL Server database and a VFP front end to manage millions of documents at a time.
You will learn:
Prerequisites: VFP and SQL Server development experience