5

The LA Fox Developer Newsletter
September 1994
Traversing the GP Fault (Con't from page 4)
2.
If a GPF occurs while using WinFax Pro,
insert or modify the following line in your
CONFIG.SYS:
device=c:\windows\emm386.exe D=64
3.
If, when you decided to upgrade your 386 to
a 486-class machine, you decided to take the economy route by purchasing a 486 motherboard and a Cyrix 486 DX2 50 MHz chip separately, you may have made a mistake. The Cyrix chip was never designed as an OEM part; it was specifically designed to upgrade 386 system boards. It was never meant to be placed on a 486 motherboard. To verify if this is your situation, call their technical support line at (800) 848-2979. (If you have a Cyrix processor in your system, their BBS number is (214) 680-3186. They have many useful utilities that may be downloaded to check your system.) By the way, you won’t discover this incompatibility while running DOS-based programs. Windows, however, has such stringent memory requirements that any problems with memory management and these chips will manifest themselves quickly.
4.
If you are using a Lantastic network card, and
get a memory conflict when loading FoxPro for Windows, place the following statement in the [386Enh] section of the SYSTEM.INI file:
EMMExclude=D800-DFFF
(Be careful when using this one, if you have already placed the statement from number 1, above, in the SYSTEM.INI file, since this will sometimes cause an immediate GPF.)
5.
If you are using QEMM386 memory manager
and get a memory conflict, insert the following statement in the [386Enh] section of the SYSTEM.INI file:
EMMExclude=COFF-C7FF
(The same recommendation applies here as “4” above.)
6.
Since FoxPro for Windows does not offer true
32-Bit processing, but rather emulates it, you may be able to eliminate/minimize the GPFs by turning this feature off. To do this, open the “Main” panel from within Windows, double-click on the “Control Panel” Icon, double-click on the “386 Enhanced” Icon, click on the “Virtual Memory” pushbutton, then the “Change” pushbutton, then disable 32-Bit Access by clicking on the appropriate checkbox.

As you’ve probably guessed by now, and from the above examples, the potential for software/hardware memory conflicts within Windows is seem-
ingly limitless. (Memory address conflicts is something we’ll cover in Part 3 of this series, “The Really Obtuse”.) The word “limitless” might sound a little harsh, but you must realize the potential is always there, and therefore you must not dismiss anything out-of-hand or matter-of-factly.

XPro User Group News
by Randy Unruh

LAST MEETING

This is easy because there wasn’t one. We were on vacation! Now we are back and ready for:

NEXT MEETING

Our own Art Metz will be showing a CodeBase application. So, all you Xbasers who have some interest in seeing how C and Xbase style applications mix will not want to miss this meeting. Also, if time permits, we will talk about OOPs issues relating to Xbase. We will discuss dBASE Windows and speculate on FoxPro
3.0.

Clipper to dBASE Windows

The following were pulled from CompuServe and other sources:

I am just now completing a port of a fairly major
(9000+ lines) Clipper application to dBase Windows,
and I found no major hurdles to overcome. In fact, the
following fixes pretty much did the job...

1) The largest problem was array handling. Clipper doesn’t support multidimensional arrays, so I was using a function to calculate the elements in a simulated two dimensional array. All I did was take out the function call in my array references, and everything was fine. Keep in mind that most array handling functions in dBase require additional parameters not needed in Clipper to work correctly (i.e. most require a second parameter to specify elements, Rows or Columns).
(Con't, page 8)
Page 5

5