RMAKE 1.4 Copyright (c) 1989-1993 Computer Associates International, Inc.
AR.RMK(3) Creating CHAMPAR.EXE...
CLIPPER .\P110 /l /uchamp.ch /m /a /dLARGE /dV9409R
Clipper (R) Version 5.2
Copyright (c) 1985-1993, Computer Associates International, Inc.
Microsoft C Floating Point Support Routines
Copyright (c) Microsoft Corp 1984-1987. All Rights Reserved.
152K available
Loading standard defs from .\champ.ch
Compiling .\P110.PRG
.\P110.PRG(1130) Fatal C3049 String space exhausted
Error RMAKE/R2001 Exit 1: 'CLIPPER .\P110 /l /uchamp.ch /m /a /dLARGE
/dV9409R'
I am working under Windows 95. I have tried many different configurations with
the environment. If someone could help me out, I would greatly appreciate it.
Tia,
Tom
I have found that the CA-Clipper error "Fatal C3049 String space
exhausted"
means that the compiler doesn't have enough memory to compile the PRG.
Often this is caused by a large PRG or a complicated CH file.
For example, when I compile a single program (in a Win95 DOS box):
clipper test /n/m/w
The compiler displays:
Clipper (R) 5.2e
Copyright (c) 1985-1995, Computer Associates International, Inc.
Microsoft C Floating Point Support Routines
Copyright (c) Microsoft Corp 1984-1987. All Rights Reserved.
>> 335K available
Compiling TEST.PRG
Code size 224, Symbols 96, Constants 80
Note the memory available before compiling: "335K available".
When I use a simple RMAKE file:
test.obj: test.prg
clipper test /n/m/w
This is the display:
RMAKE 1.4 Copyright (c) 1989-1995 Computer Associates International,
Inc.
clipper test /n/m/w
Clipper (R) 5.2e
Copyright (c) 1985-1995, Computer Associates International, Inc.
Microsoft C Floating Point Support Routines
Copyright (c) Microsoft Corp 1984-1987. All Rights Reserved.
>> 286K available
Compiling TEST.PRG
Code size 224, Symbols 96, Constants 80
See how the memory has dropped from 335K to 286K? That means that RMAKE
has
taken up about 49K.
In your example, the compiler showed only "152K available".
Solution(s):
a) Make more real memory available to RMAKE/CLIPPER by loading drivers
high, removing TSRs, or unloading network drivers (the usual stuff)
b) Compile the program "manually", outside of RMAKE. This should
give you about 49K more memory, which might be enough.
c) Simplify the CHAMP.CH header file. Rather than putting all #defines
and #commands for a project into one big header file that is
included
by all PRGs, try splitting it up into logical groupings. For
example,
have a separate header file for the REPORT and COMMUNICATION
modules.
Since these two example modules are independant, their header files
should be. Bottom line: Only #include what you need.
d) From the line number of the PRG (1130), I can see that you have a
large PRG. This is not unusual, but in your low memory situation
it is a problem. Break up the PRG into smaller ones.
In my experience, solution "c" seems to do the trick every time. I used
to get too enthusiastic and create a single massive CH file for the
project,
but then "String space exhausted" would remind me to split it up.
Bottom line (again): Only #include what you need.
By the way, I see that you are using version 5.2. You might want to get
the (free) patches to get up to version 5.2e.
TWoodJr (two...@aol.com) wrote:
>
> The following is a copy of a Clipper error that I am receiving:
--
Greg Holmes
mailto:gr...@ghservices.com
http://www.region.net/~gregh/clipper/