White Papers and Source Code

Cryptor DLL Wrapper Class SFCryptor is a class that wraps XiCRCore.DLL, the Cryptor function DLL as blogged at http://doughennig.blogspot.com/2008/04/using-cryptor-dll-functions.html. Posted 2008/04/04.
ReportListener That Knows Where Objects Were Rendered Thanks to the new ReportListener in VFP 9, we have a lot more control over where reports are rendered. These two articles, originally published in the April and May 2005 issues of FoxTalk provide a listener that collaborates with a custom preview window to provide a "live" preview surface. This gives capabilities such as hyperlinking and finding and highlighting text. Posted 2008/02/25.
Data Strategies in VFP There are a lot of ways you can access non-VFP data (such as SQL Server) in VFP applications: remote views, SQL passthrough, ADO, XML ... The Introduction of this pair of documents examines the pros and cons of different mechanisms and discuss when it's appropriate to use a particular strategy. The Advanced document looks at the CursorAdapter class added in VFP 8 in a lot more detail and discuss the concept of reusable data classes. In addition, it discusses the XMLAdapter base class and shows how it can help exchange data with other sources, such as ADO.NET. Updated 2007/08/16.
Task Scheduler This provides classes that can be used to create tasks in the Windows Task Scheduler. There are separate classes for Windows Vista, which uses Task Scheduler 2.0 and earlier Windows versions, which use Task Scheduler 1.0. Updated 2007/04/26.
My Namespace This is an updated version of the My namespace that ships with the October 2006 CTP version of Sedna. It fixes a couple of bugs in My and includes a sample form demonstrating some of the uses of My. Updated 2008/03/01.
Adding IntelliSense to Runtime Applications and Favorites for IntelliSense This article, a compilation of articles originally published in the August and November 2005 issues of FoxTalk, describes how to add IntelliSense to runtime applications and how to control IntelliSense so it only shows the properties, events, and methods you're interested in seeing, providing a lot more control over IntelliSense than you normally get. Updated 2006/11/22.
Object-Oriented Menus This article, originally published in the August 2001 issue of FoxTalk, describes how to create object-oriented menus in VFP. Updated 2002/04/13.
N-Tier Application Design (253K) This is the article and source code for Doug Hennig's article, N-Tier Application Design, that appeared in the Summer 2000 issue of Code Magazine. Updated 2002/03/25.
Report Objects This article describes how a set of classes can expose the VFP report (FRX) file as objects. This allows you to manipulate reports programmatically simply by setting properties and calling methods. Updated 2000/04/12.
DBCX 2 (139K) DBCX is the standard public domain data dictionary extension scheme for Visual FoxPro. Many improvements have been made in DBCX 2. Updated 2000/06/27.
Using Visual FoxPro ActiveX Controls (118K) VFP includes a lot of ActiveX controls that can add great features to your applications. Many of these, including the TreeView, ListView, StatusBar, and CommonDialog controls, allow you to create a Windows 9x interface for your applications. However, the documentation for these new controls is sparse or misleading, and the examples are all in Visual Basic. This paper focuses on how to use these controls in Visual FoxPro, gives example of when they're useful, and discusses the most commonly used properties, events, and methods so you can customize their appearance or behavior. Updated 1999/09/10.
Error Handling in Visual FoxPro (370K) Like most things, error handling is more flexible but a lot more complex in Visual FoxPro than it was in FoxPro 2.x. While objects have Error methods to provide local error handling, how do you provide common, global error handling services to your application? How do you recover when an error occurs? This paper looks at a proven strategy for implementing error handling in Visual FoxPro applications, starting from individual controls and working up to a global error object. Updated 1999/03/16.
Building and Using VFP Developer Tools (148K) In addition to being the best darn database management system available, VFP also gives us the ability to highly customize the interactive development environment (IDE). You can modify the menu, install new builders and wizards, implement developer toolbars, change the behavior of the Project Manager, and do lots of other things to make your IDE more productive. Even better is that all of this customization is done in the language we all know and love, so we don’t have to have some C++ guru create add-ins for us. Even relatively inexperienced VFP developers can customize their environment to work the way they want.

This document will show you how to create simple tools that increase productivity for you and your development team. It discusses modifying the VFP wizards and builders to provide additional or customized features, and creating your own builders using the BuilderD technology included with VFP 6.

Implementing Offline Views (48K) Offline views are an exciting new feature in Visual FoxPro 5. They allow you to "disconnect" a view from the source of its data so data entry can continue while the tables the view is based on are unavailable, and then update the tables when the view is "reconnected" to the database. Obvious uses for this are laptop applications which allow querying and data entry on the road and dial-up applications that minimize line charges. However, this paper will also discuss another interesting use of offline views: permitting data entry to carry on while table maintenance (reindexing, updating structures, packing, etc.) is being done. Updated 1998/11/01.
Integrating Stonefield Tools with VFE (127K) Visual FoxExpress (VFE) from F1 Technologies automatically instantiates Stonefield Database Toolkit (SDT) at runtime because they both use DBCX for the data dictionary extensions. This document provides a cookbook approach to integrating Stonefield's tools with VFE, plus includes classes to provide Stonefield services to your VFE applications. Updated 2001/09/19.
Integrating SDT with VMP (130K) Visual MaxFrame Professional (VMP) from VisionPace has hooks so you can easily integrate it with SDT. This document provides a cookbook approach to integrating SDT with VMP to provide Stonefield services to your VMP applications. Updated 2001/05/29.
Multi-user and Data Buffering Issues (20K) In FoxPro 2.x, developers edited records using SCATTER MEMVAR, editing the memory variables, and GATHER MEMVAR. The purpose of this indirect editing of fields was to protect the record by buffering it. With Visual FoxPro, data buffering is built in, so fields can be edited directly. This document discusses how data buffering works and explores strategies for selecting which buffering mechanism to use and how to handle multi-user conflicts.

© 1992-2008 Stonefield Systems Group Inc.