This article originally appeared in TidBITS on 1993-11-08 at 12:00 p.m.
The permanent URL for this article is: http://db.tidbits.com/article/2349
Include images: Off

FoxPro/Mac Rumors

by Adam C. Engst

Pythaeus writes that long after buying Fox Software, Microsoft may finally release FoxPro for Macintosh, probably at Macworld Expo in San Francisco for $495. Here then are some details about cross-platform development work with FoxPro, which is rumored to be the fastest Mac database when it ships.

FoxPro/Mac is cross-platform, so applications that you build can be somewhat easily transported to DOS and Windows, and perhaps next summer, to Unix too. Once you transport and adjust applications for each platform, the code for both platforms exists in the same file. In other words, you can have a Windows, a DOS, and a Mac client all using the same program and data files on your server.

Current FoxBASE+/Mac users will be far behind if they haven't already started using FoxPro for Windows, since commands for dealing with screens, menus, and so on have all changed dramatically. Microsoft includes an application that attempts to update your code from FoxBASE+/Mac, and it's fairly successful. However, you lose the benefits of FoxPro/Mac's excellent screen and menu generation facilities.

FoxPro's methods for handling platform differences are both useful and disturbing, but understandable considering that Microsoft is the developer. For example, pathnames can either be Mac style, "HD:Foxpro:My Program:Program.prg" or DOS style, "HD:\Foxpro\MyProgrm\Program.prg". However, all of FoxPro's functions return only DOS-style pathnames. The trick here is to avoid backslashes in your Mac filenames.

For developers who must ship their programs the day that Microsoft releases FoxPro/Mac, consider moving your code to FoxPro for Windows today to simplify porting back to the Mac and to possibly increase market share. Be careful of font differences, and note that FoxPro/Mac supports basic Apple event scripting (using the doScript event to call FoxPro functions), but not DDE, Microsoft's proprietary method of data sharing between applications in Windows.