====================================== FoxPro Developers Network of San Diego ====================================== FoxDev TipsLetter #03-01 1 January, 2003 Website: Editor: ---------------------------------------------------------------------- CONTENTS: * Calendar * Editor's Note * FPDN News * Tech Tips: Timing - VFP 6, 7, & 8 ProFox * Other Stuff: The Blueberry Story J. R. Vollmer * Knowledge Base Updates New/Updated KB articles on VFP * Links: Where Can I Find...? * Administrivia ====================================================================== Starting with our January meeting, we will have up to a 15 minute showcase of a tips, tricks or a cool function or program you've invented or discovered. If you have something you'd like to present at one of these showcases, contact any board member. Contact information appears at the end of this newsletter. CALENDAR: *** New Location: Sizzler in Murphy Canyon *** Thu - January 9 - John Gunvaldson - Sizzler in Murphy Canyon ------------------------------------------------------ John will be showing us how to use the ProMatrix framework. John started using ProMatrix DOS/WINDOWS version back in 1994 for NavSea HQ in Washington DC. He's been on just about every Beta of ProMatrix since then (all through the conversions to VFP 3, 5, 6 and 7). Showcase Presentations (15 Minutes) By: Eric Lendvai Showing: 100% Web App with more than 300 screens used by School Districts Thu - Feb 13 - Steve Settimi - Sizzler in Murphy Canyon ------------------------------------------------------- The demo will cover the in's and out's of the VFP 7.0 Database container (DBC) We'll briefly explore the vast realm of the 58 DBC Events, focusing on a few, and how/when/where to use them for different purposes. We'll look at each object of the DBC (1) table, (2) connection , (3) views , and (4) stored proceudures using DBSETPROP() and DBGETPROP() functions against each object type. We'll see the use of program file for DBC events and stored procedures. I'll demonstrate how to use the DBC effectively in building forms [assigning classes to fields]. Things to keep in mind with field level rules, record level validation and table triggers (insert, update, delete). We won't be looking at the Upsizing Wizard Showcase Presentations (15 Minutes) By: Barbara Peisch Showing: (VFP 8 [member] collections) ----------------------------- All meetings start at 6:30 pm. Sizzler Meetings: Back room of Murphy Canyon Sizzler: 3755 Murphy Canyon Rd Take I-15 to the Aero Dr exit (South of Balboa) Head West to first traffic light West of freeway Turn Right Sizzler is on the right almost immediately Buy your dinner at Sizzler and we'll have our Q&A session while we eat. PLEASE TRY TO COME EARLY ENOUGH TO ORDER YOUR DINNER BEFORE 6:30! Escondido Meetings: Training room of Bergelectric 2222 Meyers Rd. - Take highway 78 to Nordahl (Just west of I-15) - Go south past Mission - Turn right on Meyers (first right past Mission) - The building is on the right just before Oper Street. ====================================================================== EDITOR'S NOTE 1. We have a new site link, to www.foxite.com. This Dutch site has some very interesting, useful, and FREE downloads. 2. Let me remind you of our Knowledge Base Updates section, near the end of this newsletter. This month, we have something like 68 new entries, each one a reference to a Bug, a Fix, or an "issue" with Visual FoxPro. The answer to your latest problem is probably in there somewhere. You might take a look before calling Tech Support . Q: Is this helpful to you? Am I wasting my time editing this stuff? Is anybody out there? Dan Covill ====================================================================== TECH TIPS ====================================================================== TIMING - VFP 6, 7, & 8 from ProFox The following timing comparisons were posted on ProFox by wOOdy Wondzinski, and show a significant improvement in object creation speed in VFP 8. Times in seconds to create / destroy 10,000 objects: VFP3 : 1942.20 / 0.20 VFP5 : 971.60 / 0.20 VFP6 : 118.05 / 29.77 VFP7 : 0.36 / 30.21 VFP8 : 0.28 / 0.19 (Boy, I had to wait verry long on that VFP3 test... over half an hour for 10000 objects.) It's a good example on the internal optimisations done in every version. [NOTE: The public beta of VFP 8 - the one you can download - apparently does NOT have this optimization, performance is similar to that of VFP 7. DC] wOOdy www.prolib.de ====================================================================== OTHER STUFF ====================================================================== THE BLUEBERRY STORY J. R. Vollmer [This story is courtesy of my wife, who just retired after 21 years as a teacher. DC] "If I ran my business the way you people operate your schools, I wouldn't be in business very long!" I stood before an auditorium filled with outraged teachers who were becoming angrier by the minute. My speech had entirely consumed their precious 90 minutes of in-service training. Their initial icy glares had turned to restless agitation. You could cut the hostility with a knife. I represented a group of business people dedicated to improving public schools. I was an executive at an ice cream company that became famous in the middle 1980's when People Magazine chose our blueberry flavor as the "Best Ice Cream in America." I was convinced of two things. First, public schools needed to change; they were archaic selecting and sorting mechanisms designed for the Industrial Age and out of step with the needs of our emerging "Knowledge Society." Second, educators were a major part of the problem. They resisted change, hunkered down in their feathered nests, protected tenure and shielded by a bureaucratic monopoly. They needed to look to business. We know how to produce quality. Zero defects! Total Quality Management! Continuous improvement! In retrospect, the speech was perfectly balanced - equal parts ignorance and arrogance. As soon as I finished a woman's hand shot up. She appeared polite, pleasant. She was, in fact, a razor-edged, veteran high school English teacher who had been waiting to unload. She began quietly. "We are told, sir, that you manage a company that makes good ice cream." I smugly replied, "Best ice cream in America, ma'am. "How nice," she said, "Is it rich and smooth?" "Sixteen percent butterfat," I crowed. "Premium ingredients?" she inquired. "Super premium! Nothing but triple-A." I was on a roll. I never saw the next line coming. "Mr. Vollmer," she said, leaning forward with a wicked eyebrow raised to the sky, "when you are standing on the receiving dock and you see an inferior shipment of blueberries arrive, what do you do?" In the silence of the room, I could hear the trap snap. I was dead meat, but I wasn't going to lie. "I send them back." "That's right!" she barked, "and we can never send back our blueberries. We take the, big, small, rich, poor, gifted, exceptional, abused, frightened, confident, homeless, rude, and brilliant. We take them with attention-deficit hyperactivity disorder, junior rheumatoid arthritis, and English as their second language. We take them all. Every one. And that, Mr. Vollmer, is why it's not a business. It's a school." In an explosion, all 200 teachers, principals, bus drivers, aides, custodians and secretaries jumped to their feet and yelled, "Yeah! Blueberries! Blueberries!" And so began my long transformation. Since then, I have visited hundreds of schools. I have learned that a school is not a business. Schools are unable to control the quality of their raw material, they are dependent upon the vagaries of politics for their revenue stream, and they are constantly mauled by a howling horde of disparate, competing customer groups that would send the best CEO screaming into the night. None of this negates the need for change. We must change what, when, and how we teach, to give all children maximum opportunity to thrive in a post-industrial society. But educators cannot do this alone; these changes can occur only with the understanding, trust, permission, and active support of the surrounding community. For the most important thing I have learned is that schools reflect the attitudes, beliefs and health of the communities they serve, and therefore, to improve public education means more than changing the schools, it means changing America. .. From March 6, 2002 issue of Education Week. .. Jamie Robert Vollmer, a former business executive and attorney, is now an education consultant in Fairfield, Iowa, and works to increase community support for putlic schools. [Ed note: While this doesn't have much directly to do with VFP, I think it does relate to system design. And the lesson is, while you're implementing your technology, try not to forget what your objective is! DC] ====================================================================== VFP KNOWLEDGE BASE UPDATES ====================================================================== The following KB articles are new or updated, per KBAlertz.com Visual FoxPro ------------- Q297779 FIX: Closing Connection While View Designer Is Open Crashes Visual FoxPro Q258536 FIX: UP ARROW Key Not Working in Code Editor Under Hebrew Windows Q163472 BUG: Path Greater than 95 Characters Causes VFP Mac to Hang Q163245 BUG: StatusBar Ctrl Does Not Show Size Grip in Top-Level Form Q129922 BUG: Error Occurs When Stepping through BROWSE FOR UDF() Code Q253640 BUG: Crash When Closing Table with Dirty @...GET and READ Active Q163412 FIX: Web Browser Position is Wrong on Pageframe Page Q221750 FIX: Upsizing to SQL 7.0 with Currency Type Fails Q221680 FIX: C0000005 Fatal Error With TRANSFORM() on Long Strings Q221622 FIX: Hang When Resizing a ToolBar With ASELOBJ at Design-Time Q162683 BUG: BROWSE FORMAT May Cause Blank Browse Window Q139768 BUG: ON ERROR Statement Not Executed in Browse of Table Q143308 BUG: Textwidth Method Does Not Return Foxel Units Q138734 BUG: Cancel Doesn't Work in RESTORE MACROS FROM GETFILE() Q137521 BUG: Class Browser: Error When Typing a Subclass in Type Combo Q134891 BUG: DEFINE POPUP PROMPT Can Cause Visual FoxPro to Quit Q138145 BUG: Different TAB & SHIFT+TAB Behavior in Visual FoxPro Popup Q135286 BUG: Can't Use Keyboard to Change Vertical Size of Object Q133742 BUG: Toolbar Options Positioned Off the Screen Q132863 BUG: DBGETPROP() for Database Comments Not Working Correctly Q131875 BUG: Form Designer Window Won't Scroll When Selecting Objects Q134215 BUG: OLE SUBCLASS: Subclassing of OleControl/OLE Unspecified Q132480 BUG: Aliases in View Window Are Listed in Reverse Order Q129440 BUG: Cannot Escape Out of ON ERROR Routine Q221744 FIX: C0000005 Fatal Error During Build w/ Invalid Preprocessors Q187788 BUG: "No Result" Error Saving Oracle Parameterized View Q185188 PRB: Cannot Use Visual FoxPro Table in Word 97 Mail Merge Q142397 BUG: REPLACE with UDF May Cause "Record Is Not Locked" Error Q130798 BUG: "File Does Not Exist" Occurs After FoxPro Is Maximized Q108633 BUG: "Invalid File Descriptor" When Saving Read-Only Query Q258537 FIX: Config.fpw Setting for Terminal Server Environment Q258534 FIX: Grid Display and Re-Draw Are Slow Under Hebrew Windows Q250512 PRB: OS() Function May Not Return "NT" Under Windows 2000 Q170126 FIX: Using the SelPrint Method of the Rich Text Control Q141355 FIX: Copy/Paste Causes GP Fault w/Worksheet Created by COPY TO Q136559 BUG: Space is Used Instead of PasswordChar Character Q114480 BUG: SET COMPATIBLE or Catalog Manager Changes MEMOWIDTH to 80 Q279139 FIX: COM Servers May Stop Responding Under Heavy Load in MTS and Windows 2000 Q113277 BUG: Popup Not Cleared in FoxPro for Windows Q120181 BUG: Incomplete APPEND GENERAL Command Doesn't Generate Error Q250059 FIX: Accessing Printer Drivers After Issuing SYS(1037) Might Cause Error Q246313 BUG: Certain Icons May Cause Error with FoxPro Q260032 FIX: Incorrect Versions of VFP6.exe and VB6.exe in Visual Studio 6 Q236837 PRB: SQL DTS Wizard Error "Unrecognized Phrase/Keyword" with FoxPro Database Q139569 BUG: MDI Window Reverses Parent/Child Window Name in Title Bar Q108609 BUG: SET MESSAGE WINDOW Command Not Working Correctly Q196279 FIX: "File or Project not Found" Adding Files Via Integration Q133003 BUG: SQL SELECT Brings Up Dialog Twice Erroneously Q88603 BUG: Calculated Currency Field Ignores Formatting Q271405 PRB: Batch Files Do Not Run as Post Executables in Setup Routine Q251399 BUG: Visual FoxPro FoxRun.pif Fails with Long File Names in NT/W2K Q246307 BUG: EXE Crashes on Windows NT when Icon has More Than 256 colors Q151853 INFO: Required Files For The Pivot Table Wizard Q287650 BUG: "Error loading printer driver" with Space in Printer Name Q193502 PRB: Cannot Quit VFP End Task Causes Application Error Q114257 BUG: Index Tag Not Found with SET COMPATIBLE ON and DELETE TAG ALL Q113006 BUG: "Code Page Not Found" Caused by SET CPCOMPILE to 0 Q102461 FIX: BROWSE KEY 0 Causes Errors When No Database Order Set Q245782 INFO: Find Information on the Office 97/2000 Application's Object Model Q168706 FIX: PivotTable Wizard - Cannot Find Excel 97 Q105834 BUG: FoxPro Does Not Import .DIF Format File Q274791 PRB: ON KEY LABEL ALT+F6 Does Not Work In Windows 95, 98, or Millennium Edition Q252615 OLE Examples for Taking Control of Excel from Visual FoxPro Q196024 BUG: Microsoft Date Time Picker Control Causes Exception Error Q100445 BUG: Character Field Appears as Date in Microsoft Graph Visual FoxPro 6.0 ----------------- Q130464 BUG: Number Entry Starts at Center or Left in a Browse Q135111 BUG: "Feature Not Available" Error If READ in Form of Formset Q134213 BUG: Init Method for Cursor Object has Incorrect Data Session Q133245 BUG: One-to-Many Report Wizard Doesn't Sort in Correct Order Q130410 BUG: ALTER TABLE Command Changes Field Type to Picture Q130404 BUG: CREATE CURSOR Does Not Accept UNIQUE as a Field Name Q299336 FIX: Fatal Exception Error When You Attempt to Paste Text in Macros Dialog Box Q279135 FIX: Stored Procedure Used with SQLEXEC Embeds NULL as Last Character Q114136 BUG: FoxPro Math-Precision Problems with SET DECIMALS Q263287 Visual FoxPro 6.0 Sample: Sets Print Options Without REPORT FORM ... PROMPT Command (ReportFormPrompt.exe) Q262572 BUG: FormSet from Functional Conversion Closes Unexpectedly Q221731 FIX: Copy/Paste Allowed With Password Character Q155933 BUG: Setting Grid's MousePointer Property to 14 Causes Error Q139959 BUG: Valid Event Runs Twice When SetFocus Issued in LostFocus Q145607 BUG: Cannot Customize the Form Controls Toolbar Q143306 BUG: COLOR on @...GET Push Button Does Not Work as Expected Q136282 BUG: Spinner Does Not Increment Value as It Should Q129905 BUG: "Hide All Windows" Does Not Hide the Command Window Q224989 FIX: "Not Enough Memory" Error with SQLCOLUMNS() and SQL Server Q221614 FIX: Remote View Wizard Gives Error with Spaces in Table Name Visual FoxPro 7.0 ----------------- Q299491 FIX: Program Execution Stops With Outstanding Class References Q306113 PRB: Temp Folder with System Attribute Causes Errors in Visual FoxPro How To Look Up These Articles: To get to a specific KB article: a. Go to support.microsoft.com. Search is at left of the page. b. Select "Visual FoxPro" on the drop-down. c. Enter the document number in the textbox below it. d. Click on the green arrow. To Subscribe: Subscribe at . You can specify any MS product to receive alerts on. ====================================================================== LINKS ====================================================================== This is a (semi) permanent list of places to look for technical help when you get blind-sided by the latest urgent requirement. We don't give specific URLs for MSDN articles because (a) they're too long and (b) they change too often! ------------------------------- MSDN ON LINE: There's a ton of stuff here, look at the Magazines tab, and read some of the regular columns. MSDN Library Look in Technical Articles | Visual Studio | Visual FoxPro MSDN Library: "Building Three-Tier Client/Server Applications with Visual FoxPro" ADO MSDN Library: ADO Jumpstart for Microsoft Visual FoxPro Developers John V. Petersen, April 1999 DNA (Distributed interNet Architecture): MSDN On-line: "Top Windows DNA Performance Mistakes and How to Prevent Them" FoxPro 2.6: http://members.aol.com/FoxProResources/fpfp.htm MTS: Microsoft Transaction Server MSDN Library: "Microsoft Transaction Server for Visual FoxPro Developers" ODBC: MSDN Library: "Using Visual FoxPro to Access Remote Data" ODBC drivers are part of MDAC - Microsoft Data Access Components - and are available for download at: "www.microsoft.com/data" VS Installer: MSDN Library: a. "Using Visual Studio Installer for VFP 6.0 Applications" b. "VFP 6.0 and VS Installer Tutorial" VFP Publications: www.advisor.com FoxPro Advisor www.pinpub.com FoxTalk magazine www.hentzenwerke.com Hentzen Publishing (Books, discussion, and downloads) VFP General: msdn.microsoft.com/vfoxpro Microsoft's official VFP home page www.foxcentral.net Joint effort by Microsoft, West-Wind, and the Universal Thread Lots of news and development info. MS Developer Applications Forum on Compuserve http://go.compuserve.com/msdevapps The History of FoxPro (submitted by Steve Settimi) www.foxprohistory.org The Universal Thread http://www.universalthread.com The "Wiki" www.wikis.com fox.wikis.com fox.wikis.com/wc.dll?Wiki~FoxForumWiki Here is the most complete set of FoxPro links you're likely to find: http://www.cetus-links.org/oo_visual_foxpro.html Private websites with useful free info and downloads: www.prolib.de/foxlinks.afp wOOdy Wondzinski www.honeypass.com Allen Pollard www.ukfug.org.uk British user group www.lafox.org LA user group www.pinter.com/ Les Pinter www.vfug.org/ Virtual Fox User Group www.leafe.com Ed Leafe, ProFox listserve www.jamesbooth.com www.foxforum.com www.foxfolk.com www.foxite.com (registration required) A group of Dutch developers - refreshingly geeky. (Don't be put off by the registration - they're not selling anything.) www.stevenblack.com www.craigberntson.com WEB Development: These products all work well with VFP. AFP www.afpweb.com and www.afpages.com DotFox www.elsoftware.com FoxWeb www.foxweb.com Web Connection www.west-wind.com X-WORKS www.x-works.com Windows General Win32 API (with VFP examples) XML - What's New in XML for Microsoft Windows 2000 See also OLE DB drivers for XML in MDAC 2.6 at "microsoft.com/data" [Contributions solicited. DC] --------------------------Administrivia------------------------------- This newsletter is a service to all FoxPro developers, provided without charge by the FoxPro Developers Network of San Diego (FPDN). Anyone may subscribe (or unsubscribe) at our web site . The link is on the home page. The Resources button on the website will take you to the back issues of the newsletter. The editor (Dan Covill) is solely responsible for the content. E-mail him with YOUR tips, comments, or complaints. Editor: Dan Covill 858-272-2448 dcovill@acm.org Board of Directors: Eric Lendvai - President 760-734-4929 eric@elsoftware.com Art Bergquist - Vice Pres 760-740-0428 abergquist@sbcglobal.net Thad V'Soske - Secretary 619-544-9900 tvsoske@yahoo.com Barbara Peisch - Treasurer 760-729-9607 barbara@peisch.com Claude Nikula - Director 619-615-6318 crndev@cox.net Lou Syracuse - Director lsyracuse@delmardb.com ----------------------------------------------------------------------