![]() |
Register for Classes | Contact Us | Home | ||||
|
What is Visual FoxPro?Visual FoxPro is a powerful software tool for developing custom data-centric applications that contains both a programming language and GUI interface plus easy access to its own FoxPro tables, and access to robust high-capacity database systems like Microsoft's SQL Server, Oracle, etc. Fox software was developed by Fox Software in Perrysburg Ohio, beginning in 1984, and was purchased by Microsoft in June, 1992 as they were preparing to launch Visual FoxPro. After purchasing Fox Software, Microsoft introduced the new object-oriented and event-driven Visual FoxPro 3.0, followed by VFP5, VFP6, VFP7, VFP8 and the latest VFP9, with two service packs and a recent release of Sedna AddOns, plus a soon to be released VFPx product. For more information on where FoxPro is headed, visit the Microsoft Visual FoxPro website. Running Visual FoxPro in VistaMost "basic" Visual FoxPro applications developed in VFP 6, 7 and 8 will run on computers running on Microsoft's 32-bit Vista, or on 64-bit Vista running on the emulation layer (Windows on Windows 32 or WOW32). However, when developing and running applications in Vista, Microsoft recommends using Visual FoxPro Version 9.0 with Service Pack 2. But, even with VFP9 SP2 we, as well as other developers, have found several challenges. For example, we are finding Vista issues with (1) OLE Bound Controls mapped to General Fields, (2) using the AGETFILEVERSION function, (3) running certain Windows API functions, and (4) encountering ODBC interoperability errors between FoxPro and Microsoft Word when setting up a mail merge process. Here are the details of what we have found so far when running FoxPro in Vista. 1. OLE Bound Controls: Vista displays an icon rather than the picture when inserting .bmp and .jpg graphic files in a General Field or attempting to display such pictures in Active X OLE Bound Controls in FoxPro Forms. The good news is that OLE Bound Controls in FoxPro Reports still display Excel charts properly when running in Vista. Possible Solution: To avoid this problem display picture graphics in FoxPro Forms using the FoxPro Image Control and set the Picture property of the control to the graphics file containing the picture. We also recommend using this approach to avoid General Field memo file bloat when displaying .jpg graphics in prior versions of VFP. 2. AGETFILEVERSION function: When running our About Application form we use the FoxPro AGETFILEVERSION function to obtain Version information about the executable file. However in Vista the function does not create the array. Possible Solutions: Bypass using the AGETFILEVERSION function and insert actual values, into your form design, that you set for Version information of your executable file. One of our students suggested using a Blat DLL or create a DOS batch file to run a Blat in-line Win32 command. Both are freeware components available for download at http:\\www.blat.net. 3. Windows API Functions: Some API functions located in Windows DLLs may yield different results than expected. For example, when running Vista and creating an INI file using the Windows WritePrivateProfileString API function without specifying a path, the INI file is placed in a Windows folder in the Users path rather than the Windows folder on the c: drive when running Windows XP and previous versions of Windows. This is actually a good feature since users often times do not have access to the operating system files in the Windows folder on the root drive but do have access to their User folders. Possible Solution: Specify the path when writing a private profile string to an INI file. For example you can specify the folder in which the application is running with SYS(5)+SYS(2003). 4. ODBC Drivers: Some ODBC functionality may not work properly in Vista. For example, when creating a Microsoft Word mail merge template connected to a FoxPro table, via the Mail Merge Wizard, an ODBC error occurs when running this Wizard in Vista, which we have not yet found a way to resolve. This is unfortunate, because this is a great interoperability feature between Microsoft FoxPro and Word that in the past has served us well in setting up a mail merge. Possible Solution: Our hope is that we might be able to find a way to create a mail merge setup via an OLE Automation connection with Word, but that will take some further development. Link for Further Assistance: For information on what other FoxPro developers are finding, visit the Foxite forum website. Visual FoxPro Lifecycle SupportWhen Microsoft releases any of their products, they specify when it will be released and post a scheduled product lifecycle for mainstream and extended support. Here is the currently posted lifecycle dates for Visual FoxPro Versions 6.0, 7.0, 8.0 and 9.0.
For more information, follow the links to product lifecycle for Visual FoxPro and other Microsoft Developer Tools, and the links to product lifecycles for all Microsoft products. Will There Be a Visual FoxPro 10.0?Unfortunately No! Microsoft announced on March 13, 2007, that it will continue providing enhancements to VFP9, but it has no current plans to release a version beyond Visual FoxPro 9.0. For more information, read the Message to the Visual FoxPro Community dated March 13, 2007. Visual FoxPro 9.0Visual FoxPro 9.0 was released for manufacturing in December 2004 and is available for purchase, or upgrade. If you upgrade to VFP9, you will need to uninstall VFP8. So if you want both versions available on your computer for development in multiple versions, you will need to purchase the full VFP9 product. Service Pack 1 and 2 (SP1 and SP2) have been released and can be downloaded from the Visual FoxPro website. Aside from service packs, the Visual FoxPro Team at Microsoft has released a project, code named Sedna, which enhances Visual FoxPro beyond version 9.0. The FoxPro Team is also working towards adding other future Add-Ons, to VFPx on CodePlex. For more information, visit the Visual FoxPro website. Here are a couple of tips when upgrading applications to VFP9. The EngineBehavior now defaults to 90, so set EngineBehavior to 80 or 70 in your Setup Code for backward compatibility with previously developed SQL Select commands. VFP9 added a new ReportBehavior setting which is set to 80 as the default. If you want to use the new VFP9 reporting features, set ReportBehavior to 90. Another tip is to set the Themes property of forms to .F. to use custom colors, particularly for applications developed in past versions of Windows and now running on Windows XP, or Vista. Another tip is that if you insert OLE Bound Controls in your application forms, or if you deploy proxy COM Servers which pass parameters to methods in deployed classes within executable files, you will need to download and install SP2 for VFP9 for these features to work properly in Visual FoxPro 9.0 For information on modules required for distributing VFP9 applications, read VFP9 Runtime Files.. Visual FoxPro 8.0Visual FoxPro 8.0 was released for manufacturing in March 2003. Service Pack 1 was released October 7, 2003 and is available for download. When installing VFP8, you may also install InstallShield Express Version 3.5. This is an upgrade from InstallShield Version 3.03 that was shipped with VFP7. Modules required for distribution of VFP7 and VFP8 applications are available on the new 3.5 version. For information on the modules required for distributing VFP8 applications, read InstallShield Express and VFP8. Here's a couple of tips when upgrading applications to VFP8. Microsoft introduced a new EngineBehavior in VFP8 which defaults to 80, so set EngineBehavior to 70 in your Setup Code for backward compatibility with previously developed SQL Select commands in VFP7 and previous versions of FoxPro. Set the new Themes property of forms to .F. to use custom colors, particularly for applications running on Windows XP. Visual FoxPro 7.0Service Pack 1 is available for Visual FoxPro 7.0. Note: you will want to check out the SP1Readme.htm file and save it for future reference. It describes the product improvements made in the SP1 and has instructions on installing the service pack. One of the new IDE (Interactive Developer Environment) features is Intellisense. Check out Intellisence Overview for an a complete description of this feature, plus information on how to customize it for your development environment. If you import records from VFP7, or earlier versions, into Microsoft Excel and want to overcome the limit of 16500, or so, records, COPY TO ExcelFileName TYPE FOX2X and then open the ExcelFileName in Excel and Save As the ExcelFileName in your desired version. This limit was resolved in VFP8. Tips for Visual FoxPro 6.0 DevelopersFor VFP 6.0 developers, Service Pack 5.0 is available for Visual Studio 6.0 with performance enhancements (bug fixes), and new features. If you have not yet upgraded to VFP 9.0 you should really give serious consideration to doing so. It is a greatly enhanced product with lots of new developer features plus greatly expanded Web development capabilities. In addition, VFP6 application will not run in the new Vista operating system. If you develop, or take our training, in VFP7 and then attempt to use the components in VFP6, you will need to do the following in order to access the components in VFP6: 1. Remove the last two fields of the .mnx menu files that were added for VFP7. 2. Set Events OFF in the .dbc database file. Leaving events ON in VFP7 will cause reading error in VFP6. 3. Remove cursor objects from the DataEnvironment of .scx files and load data sources via code in the Load event. VFP6 will not be able to locate the data via the cursor objects. If you import records from VFP6, or earlier versions, into Microsoft Excel and want to overcome the limit of 16500, or so, records, COPY TO ExcelFileName TYPE FOX2X and then open the ExcelFileName in Excel and Save As the ExcelFileName in your desired version. This limit was resolved in VFP8. Tips for running VFP on Novell ServerSeveral of our clients have experienced data and index file corruption with FoxPro applications running on Novell networks. According to reports entitled "FoxPro Database corruption's with Client32" and "FoxPro index rebuild corrupted" on Novell's Knowledgebase, this is a common problem with Novell networks. Since the Microsoft NetWare Client does not cause similar problems, we recommend using the Microsoft NetWare Client when connecting computers to a Novell network. Configuraton Tip for running VFP on Window NTSeveral of our clients have experienced corruption problems with memo fields when packing the files. The cause of the problem appears to be an operating system problem. We found that Windows NT keeps the files open after the tables have been closed. To solve this problem we simply make the following change to Windows NT at the command prompt: C:\> NET CONFIG SERVER /AUTODISCONNECT:<time in minutes> With this configuration, the server will automatically disconnect workstations that have been IDLE for the specified time. If the machine stays active, it will not be disconnected.Configuration Tip on using FOXRUN for long file namesAnother "feature" of Windows 2000 Professional and Windows NT is that long file names are truncated and a ~ is added (i.e., MyLongF~.prg) when using the RUN COPY command from within Visual FoxPro. For example, RUN COPY ..\LABS\MyLongFileName.prg This is because FOXRUN, which is located in the HOME( ) directory, is setup to use COMMAND.COM instead of CMD.EXE. To correct this problem, locate FOXRUN, right click to open the Properties dialog, tab to the Program page and change the Cmd Line to CMD.EXE. Of course an alternative to shelling out to the operating system and using the RUN command, is to use the COPY FILE command. For example, COPY FILE ..\LABS\MyLongFileName.prg TO *.*
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||