Hacker’s Guide to Visual FoxPro
An irreverent look at how Visual FoxPro really works. Tells you the inside scoop on every command, function, property, event and method of Visual FoxPro.
In this section we list many resources we think may be of benefit to you. These include books worth reading, either for their value as a reference or as food for thought. Following that list is a list of FoxPro 2.x books to aid in your understanding of “legacy” code and techniques. Included at the end is a list of other resources worth checking into.
Note: Given this text was written in the early 2000’s, some of these resources may no longer be available.
Akins, Marcia, Andy Kramek and Rick Schummer, 1001 Things You Wanted to Know About Visual FoxPro, Hentzenwerke Publishing, 2000, ISBN 0-0655093-3-8. This volume picks up where the Hacker’s Guide leaves off. It answers all those “How do I” questions, like “How do I create a splash screen?” or “How do I change the grid’s display order?” A must-have for serious VFP developers.
Alciere, Rose Mary, Creating Help for Windows™ Applications, Wordware Publishing, Inc., 1995, ISBN 1-55622-448-6. A great introductory book on how Windows Help is made. Intended primarily for Windows 3.1, it even includes a chapter specifically aimed at making the Windows API function WinHelp() work with FoxPro for Windows 2.x! The API functions and basics of WinHelp still apply, should you choose WinHelp over HTML Help.
Brentnall, Savannah, Object Orientation in Visual FoxPro, Addison-Wesley, 1996, ISBN 0-20147-943-5. An excellent primer on the ideas of object-oriented programming and how they apply to Visual FoxPro. Introduction by Ken Levy—we didn’t know he could write comments!
Booch, Grady, Object Oriented Analysis & Design, Benjamin Cummings, 1994, ISBN 0-8053-5340-2. One of the heavies of the industry on analysis and design issues. When you’re done playing with all the new cool things in VFP and it’s time to get back to work, here’s one of the tomes to be studying.
Booth, Jim, and Steve Sawyer, Effective Techniques for Application Developmentwith Visual FoxPro 6.0, Hentzenwerke Publishing, 1998, ISBN 0-0655093-7-0. We think of this as the third volume in the “VFP How To” set. While the Hacker’s Guide tells you how the language works, and 1001 Things shows you how to accomplish specific tasks, Effective Techniques focuses on the bigger picture, looking at design issues and good programming practices.
Cooper, Alan, About Face: The Essentials of User Interface Design, IDG Books, 1995, ISBN 1-56884-322-4. This must-read book makes you think long and hard about how user interfaces work—not just the ones you write, but the ones you use every day. While you may not agree with everything Cooper suggests, you’ll be forced to question your assumptions. Best of all, Cooper is a great writer.
Cooper, Alan, The Inmates are Running the Asylum, SAMS, 1999, ISBN 0-672-31649-8. Where About Face addresses user interfaces on a granular level, this gem looks at the overall design process and proposes a more rational way to design and implement user interfaces.
Egger, Markus, Advanced Object Oriented Programming with Visual FoxPro, Hentzenwerke Publishing, 1999, ISBN 0-0655093-8-9. This book covers so much ground, it’s hard to believe it’s only about 400 pages. It includes clear explanations of OOP concepts, the best documentation anywhere for the FoxPro Foundation Classes and the Component Gallery, an introduction to the Unified Modeling Language, and much, much more.
Gamma, Erich, Richard Helm, Ralph Johnson and John Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1994, ISBN 0-20163-361-2. Often referred to as “The Gang of Four” or “Gamma and Helm” for short, this is the book that defined object design patterns and explained how to use them. Our good friend Alan Schwartz advises that, in order to really get it, consider reading the core text (about 70 pages) four times. The book contains a catalog of design patterns, explanation of their use, benefits, liabilities and great discussion. Design patterns are not so much “the latest thing” in programming, as much as they are a new vocabulary we can use to express what we have been doing all along.
Granor, Tamar, Doug Hennig and Kevin McNeish, What’s New in Visual FoxPro 7.0, 2001, ISBN 1-930919-06-9. This is the first book you want to read if you’re moving from VFP 6 to VFP 7. It covers all the new IDE, language and COM features in a compact format.
Granor, Tamar and Della Martin, Microsoft Office Automation with Visual FoxPro, Hentzenwerke Publishing, 2000, ISBN 0-0655093-0-3. This is the only book out there that addresses automation of Office from a VFP standpoint.
Hentzen, Whil, The Fundamentals: Building Visual Studio Applications on a Visual FoxPro 6.0 Foundation, Hentzenwerke Publishing, 1999, ISBN 0-0655093-5-4. The best starter book we know for new VFP developers and for those moving from older Xbase tools to VFP.
Humphrey, Watts, Managing the Software Process, Addison-Wesley, 1989, ISBN 0-201-18095-2. From one of the key players in the Software Engineering Institute at Carnegie Mellon University, this book (like most of his books) is worth a read. Watts and the SEI are at the cutting edge of real software engineering.
Jacobson, Ivar, Object-Oriented Software Engineering, Addison-Wesley, 1992, ISBN 0-201-54435-0. Some really cool stuff here. In-depth examination of Jacobson’s own Objectory system, with good overviews of object-oriented analysis and design, and a comparison of several methodologies out there.
Johnson, Jeff, GUI Bloopers: Don’ts and Do’s for Software Developers and Web Designers, Morgan Kaufmann Publishers, 2000, ISBN 1-55860-582-7. If Microsoft’s user interface guideline documents are too dry for your taste, spend some time with this book. While he doesn’t address the tiny details like how many pixels should separate controls, Johnson covers most of the fundamental errors that we all make in creating user interfaces.
Kirtland, Mary, Designing Component-Based Applications, Microsoft Press, 1999, ISBN 0-7356-0523-8. While all of the sample code in this book (and there’s tons of it!) is either in VB or C++, the author does a great job explaining things like how COM works, what Windows DNA is, and what responsibilities the various layers of an n-tier application have.
KNOWware, HTML Help in a Hurry™ Course Book, available from KNOWware, (800) 566-9927, 1997. This was the first book available for HTML Help, and the KNOWware team, led by HTML Help MVP Mary Deaton, used the materials to teach Microsoft staff worldwide the basics of HTML Help. The course book is very short (38 pages), but a good basic start.
Maguire, Steve, Debugging the Development Process: Practical Strategies for Staying Focused, Hitting Ship Dates, and Building Solid Teams, Microsoft Press, 1994, ISBN 1-55615-650-2. The other “Steve M” from Microsoft has some excellent observations on the development process. Not only is this information applicable to our FoxPro development, but many of the examples give us insight into just what they are thinking at Microsoft.
McCarthy, Jim, and Denis Gilbert, Dynamics of Software Development, Microsoft Press, 1995, ISBN 1-55615-823-8. Another view inside Microsoft and another good volume on what is involved in software development.
McConnell, Steve, Code Complete, Microsoft Press, 1993, ISBN 1-55615-484-4. Written before the era of Visual FoxPro, this book nonetheless has tremendous relevance for those of us who need to produce long-lasting, reliable and robust code. Steve explores the art and craft of programming, reflecting on the philosophical implications of many of the designs of coding. An awesome book.
McConnell, Steve, Rapid Development, Microsoft Press, 1996, ISBN 1-55615-900-5. Excellent material from a top-notch author on the trials and tribulations of software development. Includes a number of case studies and lists of pitfalls to avoid.
McConnell, Steve, Software Project Survival Guide, Microsoft Press, 1997, ISBN 1-57231-621-7. Steve can’t stop writing and we can’t stop reading! Yet another great book, with excellent supporting materials available on his Web site. A must read.
Microsoft Windows ??? Resource Kit, Microsoft Press—fill in the ??? yourself—“95,” “98,” “NT,” “2000,” etc., depending on your (and your clients’) particular flavor(s) of Windows. Invaluable books (sometimes in more than one sense), these can be tremendous aids in troubleshooting problems with the underlying Windows system. They typically include manuals and disks with some handy utilities and reference materials. They are also available online in the MSDN library at http://msdn.microsoft.com.
MSDN-The Microsoft Developer’s Network—a series of CDs released monthly. What you get depends on your level of participation. (Microsoft changes programs like these so often it makes our heads spin, so we won’t even speculate on how many levels there are as you’re reading this.) Regardless, you’ll find a very large variety of information and software, including all kinds of Software Development Kits (SDKs), documentation for virtually any product you can think of, relevant KnowledgeBase articles, sample code, and tons of software, including versions of Windows, Office, VFP, etc., etc., etc. Having these disks is like carrying around the Microsoft Web site with you—an excellent resource when you need information fast, especially if you can’t connect to the Web.
Norman, Donald, The Design of Everyday Things, Doubleday, 1988, ISBN 0-385-26774-6. Formerly published as the poorly selling The Psychology of Everyday Things, this book is a self-fulfilling example of the fact that books are judged by their covers and user interfaces by their utility. Excellent examples and discussions about why some designs work and others fail. Thought-provoking material for anyone who wants to write a system that others can use.
Plauger, P.J., Programming on Purpose, PTR Prentice Hall, 1993, ISBN 0-13-721-374-3. Author of the popular column of the same name in Computer Language, Plauger revises and expands some of his best columns into a wonderfully entertaining series of essays on the whys and wherefores of analysis, design and software engineering.
Roche, Ted, Essential SourceSafe, Hentzenwerke Publishing, 2001, ISBN 1-930919-05-0. The title says it all here. Ted’s book tells you what you need to know to use Visual SourceSafe effectively.
Sessions, Roger, COM and DCOM: Microsoft’s Vision for Distributed Objects, Wiley Computer Publishing, 1998, ISBN 0-471-19381-X. An excellent book to introduce the concepts of distributed computing using Microsoft’s latest technologies. The author doesn’t get bogged down in the details of Microsoft Transaction Server or Message Queue, but rather explains the use of these technologies at an understandable level.
Shneiderman, Ben, Designing the User Interface, Addison-Wesley, 1998, ISBN 0-201-69497-2. Shneiderman is one of the fathers of the science of Computer-Human Interaction. This book is the third edition of what was originally written as a college text. Like the original, it has plenty of advice, backed up with empirical research, on how to organize user interfaces.
Stahl, Rick, Internet Applications with Visual FoxPro, Hentzenwerke Publishing, 1999, ISBN 0-0655093-9-7. This book provides a great introduction to using the Internet with VFP applications, with VFP on both the client and server sides.
Taylor, David, Object Oriented Technology: A Manager’s Guide, Servio-Addison-Wesley, ISBN 0-201-56358-4. OOP in 128 pages. An excellent overview of why anyone would want to OOPify their code. A good primer, a good start as the first book in your OOP-reading series, and a great book to hand to your boss when asked to justify OOPification.
TechNet—Similar to MSDN above, this is also a CD-based product available from Microsoft. TechNet seems to be more focused on the support professional than the developer, although we have found very good information on these discs as well. Published monthly. If your primary interests include support, the need for new drivers, and workarounds, this disc set can save you several hundred dollars as compared to the cost of MSDN.
Tognazzini, Bruce, TOG on Interface, Addison-Wesley, 1992, ISBN 0-201-60842-1. The man who made the Macintosh user interface the shining example it is writes on the many issues surrounding the human-computer interface in a fresh and engaging way. A book that’s hard to put down. Very useful knowledge for user interface designers.
Tufte, Edward, Visual Explanations, 1998, ISBN 0-961-39212-6, Envisioning Information, 1990, ISBN 0-961-39211-8, and The Visual Display of Quantitative Information, 1983, ISBN 0-961-39214-2 —all from Graphics Press. Three of the most beautiful books we own. While not specifically aimed at computer graphics, these books can give you some great ideas about what makes a graph worth making, and common mistakes made in graphical presentations and how to avoid them. Applicable both for folks designing graphs and those designing graphical user interfaces.
Urwiler, Chuck, Gary DeWitt, Mike Levy and Leslie Koorhan, Client-Server Applications with Visual FoxPro and SQL Server, Hentzenwerke Publishing, 2000, ISBN 1-930919-01-8. A must-read for anyone accessing SQL Server data from VFP applications. It discusses upsizing VFP data to SQL Server, accessing data, distributing database changes, and many other critical topics.
Wexler, Steve, Official Microsoft HTML Help Authoring Kit, Microsoft Press, 1998, ISBN 1-57231-603-9. Steve Wexler is a principal in WexTech Systems, Inc., makers of Doc-To-Help, and has been in the help business for quite some time. He writes well and expresses the complexities of HTML Help in an understandable fashion. Written between versions 1.0 and 1.2, there may be some items out of date, but overall, you can pick up a lot from the book.
Winegarden, Cindy, and Evan Delay, Visual FoxPro Certification Exams Study Guide, Hentzenwerke Publishing, 2001, ISBN 1-930919-04-2. This book (which Tamar edited) is the only study guide available for the VFP certification exams. It’s structured to take you through the various exam goals. While this is not the book for learning VFP, it’s a great way to check out your higher-level knowledge.
Yourdan, Edward, The Decline and Fall of the American Programmer, Yourdan Press (Prentice Hall), 1993, ISBN 0-13-191958-X. A sweeping survey of the entire software industry, with some very intriguing observations and predictions. Worth the read for anyone considering a career in the industry over the next few decades. Yourdan has a follow-up book, Rise and Resurrection, that we haven’t gotten around to reading yet, so don’t give up hope!
In a number of places in the book, we refer to the “2.x way of doing things” or the “Xbase way” and refer you here. These are, in our opinions, some of the finest books written on those languages, and serve as a great reference to understanding the many aspects of the product which continue to be supported, unchanged, in the 3.x series, as well as those which have undergone radical transformations.
You’ll find that most, if not all, of these books are now out of print. If you need one of them, we suggest you visit one of the forums (listed below) and post a message asking to buy someone’s old copy. You can also try Amazon.com and the other online bookstores to see if they have any used copies to offer.
Adams, Pat, and Jordan Powell, FoxPro Windows Advanced Multi-User Developer’s Handbook, Brady, 1994, ISBN 1-56686-100-4. The authority on multi-user issues, and the tuning and configuration of workstations for optimal performance. Also includes the enormous FPWeror.PRG, a great error-handler for 2.x systems.
Griver, Y. Alan, The FoxPro 2.6 CodeBook, Sybex, 1994, ISBN 0-7821-1551-9. We suspect more applications out there are based on this framework than on any other. A simple, straightforward but elegant solution to many of the problems of application development posed by version 2.x.
Hawkins, John, FoxPro 2.5 Programmer’s Reference, Que, 1993, ISBN 1-56529-210-3. An encyclopedia of FoxPro 2.x commands, this book was (innovatively, we think) organized into more than 40 chapters by separating the commands and functions into logical groups. A great resource when you run into unfamiliar commands or unusual needs.
Slater, Lisa, and Steven Arnott, Using FoxPro 2.5 for Windows, Que, 1993, ISBN 1-56529-002-X. When we were asked for the best way to do something, we often found ourselves reaching for this well-worn tome and invoking, “Well, Lisa says…”. (Sorry, Steve.) One of the best tutorials around, with remarkable depth as well.
Slater, Lisa, with J. Randolph Brown, Andy Griebel and John R. Livingston, FoxPro MAChete: Hacking FoxPro, Hayden Books, 1994, ISBN 1-56830-034-4. This book was our best introduction to the world of the Mac. Three separate chapters introduce FoxPro folk to the Mac, FoxBase/Mac people to FoxPro, and non-Fox, Mac users to FoxPro. The rest of the book focuses on a rapid application development approach that’s appropriate for all versions of FoxPro 2.x and the Mac-specific aspects of FoxPro 2.x.
All of the magazines below have very good material. The focus of each magazine is a little different, and their editorial style changes over time. We recommend you order a copy or two of each (or get them from the newsstand) and choose the periodical that’s right for you. (Just to come clean, Tamar is a technical editor and columnist for FoxPro Advisor. Doug is a regular columnist in FoxTalk, and our publisher, Whil Hentzen, is the editor.)
CoDe, published by EPS Software Corporation, 13810 Champion Forest Dr., Houston, TX 77069. (281) 866-7444. http://www.code-magazine.com.
FoxPro Advisor, published by Advisor Publications, Inc., 4010 Morena Blvd., P.O. Box 17902, San Diego, CA, 92177. (800) 336-6060 in the U.S., (619) 483-6400. http://www.advisor.com.
FoxTalk, published by Pinnacle Publishing, 1503 Johnson Ferry Rd. #100, Marietta, GA, 30062. (800) 788-1900, (770) 565-1763. http://www.pinnaclepublishing.com/ft.
CompuServe is far and away our favorite online service for FoxPro technical support. This is no doubt due, at least in part, to the fact that once Fox Software and later, Microsoft, provided their official online presence here. Questions are answered both rapidly and accurately by peer support as well, often in a matter of hours (sometimes even minutes). Hundreds of files containing helpful hints, cool programming tricks, utilities and work-arounds are available in the libraries on the forums. Forum messages are archived and available for download. Best of all, forum access is available for free from the Web (though we still prefer our offline readers): http://go.compuserve.com\msdevapps.
The most active FoxPro site is the Universal Thread: http://www.universalthread.com. This Web-based service features many of the forum basics: threading, private messages, and so on. Basic membership is free, and provides access to the basic features. Many people are attracted to the “Premier” memberships for some of the more advanced features, such as enhanced searching, message filtering and forwarding, display options, and more. Premier members also have access to the UT’s Web Service, which allows you to read messages programmatically. At the time of this writing, the Web Service is read-only, with no way to post new messages.
The official Microsoft site for VFP is http://msdn.microsoft.com/vfoxpro. Lots of good links and information available nowhere else. Make sure to register your purchase of Visual FoxPro in order to get access to the Owner’s Area.
Microsoft also has its hand in http://www.foxcentral.net, created and maintained by Rick Strahl. This site is a clearinghouse for VFP news. It’s also available as a Web service, so you can talk to its data programmatically and create your own front end, if you prefer.
Microsoft also operates newsgroups for VFP at microsoft.public.fox.*. Additional newsgroups are found at comp.database.xbase.fox.
If you like listserves, check out the ProFox list. You can sign up at http://www.leafe.com/mailListMaint.html. There’s a Web service available for this list, too.
One of the most innovative sites for VFP is the FoxPro Wiki, which is a growing knowledge base: http://fox.wikis.com. It consists of thousands of articles written and edited by the members. If you think something is wrong or could use more information, just edit the document on the fly. Volunteers come along periodically to clean up, so that the site maintains its document (rather than discussion-based) form. The Wiki is yet another VFP Web site that has a corresponding Web service.
A search for “Visual FoxPro” turns up dozens, if not hundreds, more sites, many of them maintained by VFP developers. Since the speed of change on the Web is much faster than the speed of publishing, we won’t list any more. Instead, we recommend you spend some time looking for sites that fit your needs.
Ted has been involved with user groups for more than 10 years in the positions of founder, president, newsletter editor, bulletin board system operator, master of ceremonies, and flunky, sometimes all at the same time. The rest of us have been saner in our active participation, but all agree that user groups are an excellent opportunity to meet people of similar interests, seek support for vexing problems, share your knowledge, see some of the new innovations, and make contacts that can lead to employment or consulting contracts.
Finding a user group near you could make your life much better. Searching the FoxPro Wiki for “usergroup” (no space) turns up entries for a bunch of them. The Universal Thread has a User Group Meeting Tracker, currently available through the Tools items in its main menu. Microsoft also maintains a list through its Mindshare program (http://www.microsoft.com/mindshare), but this list often gets out of date.
Regardless of the lack of a single, consolidated list of groups, the good news is that after dwindling for a while, the number of FoxPro user groups has increased significantly in the past year, and we continue to hear about new groups forming and old groups being reborn.
Professional conferences are one of our favorite ways to get up to speed quickly. Despite the loss of billable hours as well as the costs of travel, lodging and the conference admission, we are certain that we make money by going to conferences. We meet potential clients, business partners (not to mention co-authors), employee candidates, and resources that advance our careers, at the same time as we learn from some of the most advanced members of our community. Taking an hour-long session from one of the “gurus” can save you weeks of painful trial-and-error research.
Several conferences take place each year. Microsoft has continued the tradition started by Fox Software of an (almost) annual Developer’s Conference (we say almost because October ‘93 saw us in Orlando; 15 months later, January ‘95 found us in San Diego). The September ‘01 conference was the 12th FoxPro DevCon. Other regional conferences have been very successful the last few years, particularly the Great Lakes Great Database Workshop, hosted by none other than our esteemed publisher (see http://www.hentzenwerke.com for more information on this event—and we do mean event!). These more local events can save a great deal of expense in terms of travel, lodging and admission costs, with a somewhat more limited schedule of events and a smaller speaker list.
ACM, the Association for Computer Machinery (yeah, we’re not machinery either, but we’re members), is the granddaddy of professional associations for computer folks. With both local chapters and a couple of dozen special interest groups (known as “SIGs”), it has something for everyone who’s serious about computers. You can contact them at (800) 342-6626 or acmhelp@acm.org in the U.S. and Canada, 32-2-774-9602 or acm_europe@acm.org in Europe. ACM also has a Web page at http://www.acm.org.
The FoxPro world has a long history of free and inexpensive tools. Where we once might have included many such items with the book, today it makes much more sense for us to give a list of what’s out there and let you download only those items that interest you.
The tools themselves can be divided into a couple of categories: utilities and frameworks. Generally, the utilities take one task and do it very well. (Consider WinZip, for an example from outside the VFP world.)
Frameworks are larger and, for the most part, more expensive products designed to provide all the basics any application could need, leaving you to fill in only the part that makes your application unique. We won’t list all the VFP frameworks here, since that’s a moving target. The best list we know of is available on the FoxPro Wiki in the documented titled “VFP Commercial Frameworks.”
That leaves utilities—and boy, are there a ton of them. This is probably a good place to own up and point out that Doug is the author and co-owner of several widely used VFP utilities: Stonefield Database Toolkit, Stonefield Reports and Stonefield Query. (You think the company’s named “Stonefield” or something?) Della works with Red Matrix Technologies on the DataClas/VFP product, and for TakeNote Technologies, which provides the FoxAudit program.
There are literally hundreds of third-party tools. The list that follows is just a small sampling of those we’ve worked with. See the section “Online Resources” for many places to find the myriad other VFP tools that are available now and for those that have been published since this book went to print.
We’ve organized the list into loose categories. If no Web site is listed, you should be able to download the tool from the libraries of either the Universal Thread or the CompuServe MSDevApps forum.
Stonefield Database Toolkit is a must-have tool that simplifies many of the tasks involved with maintaining databases. The facility for updating databases when their structure changes without losing data is worth the price of the product. http://www.stonefield.com.
eView, from Erik Moore, is a tool for maintaining views without using the View Designer. It handles all the properties of the view and its fields, as well as allowing you to edit the actual query on which the view is based.
ViewEdit, from Steve Sawyer, is another tool for view maintenance. This one lets you avoid the View Designer entirely, since you can create new views as well as modify old ones. http://www.stephensawyer.com.
FoxAudit, from Jim Duffy, provides complete audit trail support to Visual FoxPro DBC-based applications. It adds complete, automatic, client/server-like, audit trail support to the Visual FoxPro database container. http://www.takenote.com.
DataClas/VFP, from Red Matrix Technologies, is a series of Visual FoxPro classes for accessing and maintaining SQL Server data. It makes developing VFP/SQL Server solutions fast and easy. http://www.redmatrix.com.
GenRepoX, by Markus Egger, extends the capabilities of the Report Designer by putting a wrapper around it. It lets you do such things as creating multiple detail bands, sorting fields at runtime, and much more. http://www.eps-software.com.
FoxFire!, from MicroMega Systems, is a report writer (written in VFP) to replace the built-in Report Designer. It’s intended for use both by developers and end-users. http://www.micromegasystems.com.
FRX2Word, converts VFP reports to Word documents. Originally written by John Koziol, it’s now maintained by Fabio Vieira, of Storm Software in Brazil (fabio.storm@uol.com.br).
Rick Strahl offers a wide variety of tools, some free and others for sale, that simplify Web development with VFP. His premier product, Web Connection, is a Web development framework. Other tools include wwIPStuff, an interface for working with various Internet protocols, and wwXML, a class for working with XML. http://www.west-wind.com.
Active FoxPro Pages, from ProLib Technologies, offers another approach to Web development with VFP. www.active-foxpro-pages.com (for information and European distribution), http://www.afpweb.com (for U.S. distribution).
Struct, from Christof Lange, makes it easier to use API functions that expect structures as parameters. Struct puts an object face on structures and lets you worry only about the data involved.
HTML Help Builder, also written by Rick Strahl, is the fastest and simplest way to create CHM files. We didn’t use it to create HackFox.CHM because we started with Word documents, but it’s an indispensable part of our toolboxes for any other help file creation. http://www.west-wind.com.
Project Search, by Steven Dingle. This cool utility searches all the files in a project for a text string. It doesn’t just search procedures and methods—it checks properties, too. http://www.stevendingle.com.