Archive for April, 2008


Last Thursday Mike Feltman of F1 Technologies presented his new session on Collections to the Detroit Area Fox User Group. Mike is putting this session together for the 2008 conference season and wanted to rehearse it to get some feedback before presenting it at conferences this year.

This session was excellent! Mike talked about collections, some advantages and disadvantages, how they work, how they compare to arrays, and then went in and demonstrated some code. Mike has put together a really cool set of utilities using collections based on his work with JavaScript over the last year. These utilities show the power of collections and are worth the price of admission to his session alone.

I rarely use the Collection class in Visual FoxPro, primarily because they are more difficult to debug than arrays. I use arrays for the same thing I can use a Collection. After seeing Mike’s session I likely will use the Collection class more. Another thing Mike showed is how you can return an array property from a method in class code. This is something I either knew and forgot, or learned last Thursday.

Great session Mike! I know Mike is showing this session in Grand Rapids on May 10th, and anticipate this session will be selected by conference organizers too.



I received a bug report this week for ViewEditor Professional that took a little time to track down. I don’t have time to immediately fix it so I want to pass this along to the developers with two simple workarounds to use until I can figure out the best solution.

The bug is only revealed under a specific circumstance and has likely been a bug since ViewEditor Professional was originally written back in 2002. The bug shows itself when you save the view you are working on. The save process verifies the view’s SQL code is valid and reports any problems with the SQL code. During this process all view parameters are substituted using the VFP STRTRAN() function. Depending the substitution sequence of the view parameters and the names of the view parameters, an incorrect substitution occurs. The problem only happens when you have two view parameters starting with the same characters.

?vp_lActive = .F.?vp_lActiveArchive = .T.

SELECT cCustomerID, cCustomerName ; FROM Customer ; WHERE ?vp_lActive = .T. ;    AND ?vp_lActiveArchive = .T.

If vp_lActive is STRTRAN’ed first you see the validation code after the substitution to be:

SELECT cCustomerID, cCustomerName ; FROM Customer ; WHERE .F. = .T. ;    AND .F.Archive = .T.

The two workarounds (use one or the other):

  1. Do not name your view parameters starting with the same characters.
  2. Shut off the validation process when saving views by unchecking the Validate SQL checkbox on the SQL page.

If your views give you an error when you are saving them you can click on the Show SQL Validation Code button to see what the ViewEditor uses as the validation code. This is how I revealed what happened with my customer’s view. She knows the view is valid and has decided to shut off the validation until I can the validation substitution of view parameters.

, ,


Contact Information:
Rick Schummer
White Light Computing, Inc.
42759 Flis Dr.
Sterling Heights, MI 48314

STERLING HEIGHTS, MICHIGAN, April 2, 2008 — It is a great pleasure to announce Frank Perez has accepted an offer to work at White Light Computing as a Software Developer. Frank has a proven track record of success in the software development industry and brings more than 13 years of experience supporting and developing custom and vertical market solutions. He is experienced in all phases of software development with strengths in Visual FoxPro reporting, Stonefield Query, and has a passion for developer tools. Frank also has extensive experience with hardware and networking support.

In his role at White Light Computing, Frank will be working directly with our growing list of clients to collect business requirements, write specifications, architect and design, develop, test, deploy, and support our software solutions. He also will help release a couple more developer tools nearing completion.

His first day at White Light Computing is May 1, 2008.