For Programmers: Free Programming Magazines  


Home > Archive > Clipper > September 2006 > Files / Stacksize / Heapsize









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Files / Stacksize / Heapsize
Mel Smith

2006-09-01, 6:55 pm

Dear Friends,

Enviro Clipper 5.2e, FiveWin 2.1C, Blinker 5.1, Win98 SE

I have a FW windows app that's been working properly over the past few
years:

My system.ini file has:
under the [386Enh] section: PERVMFILES=120


I use following relevant settings in my link script:

BLINKER PROCEDURE DEPTH 50
BLINKER EXECUTABLE CLIPPER //E:0;F75

The FiveWin.lnk file is also called up from my main .lnk file and
in this FiveWin.lnk file, I also have:
stacksize 9500
heapsize 2048

Over the last two days, I've added more functionality: e.g., a new file
that is opened and read, and another field on the screen.

Now, I get unexplainable GPFs: all of then relating to one of the
following commands:

GOTO BOTTOM
or
SELECT (GCHGWRKN) -- Where GCHGWRKN = 10

Underneath is the relevant portion of my error.log file

Any help greatly appreciated. !

TIA,

-Mel Smith

Stack Calls
===========
Called from (b)SETUPBRW(87)
Called from TSBROWSE:DRAWSELECT(2531)
Called from TSBROWSE:LOSTFOCUS(5178)
Called from TSBROWSE:KILLFOCUS(769)
Called from TSBROWSE:CTLHANDLEE(0)
Called from TSBROWSE:HANDLEEVEN(1205)
Called from TSBROWSE:HANDLEEVEN(8639)
Called from DIALOGBOXI(0)
Called from TDIALOG:ACTIVATE(246)
Called from ERRORDIALO(295)
Called from (b)ERRORSYS(17)

**** this next is where the error occurs now -- and it always used to work
at this
**** innocuous 'goto bottom' statement

Called from DBGOBOTTOM(0)
Called from SHODLY(2172)
Called from (b)SETUPBRW(33)
Called from TSBROWSE:GOUP(3792)
Called from TSBROWSE:KEYDOWN(4010)
Called from TSBROWSE:CTLHANDLEE(0)
Called from TSBROWSE:HANDLEEVEN(1205)
Called from TSBROWSE:HANDLEEVEN(8639)
Called from DIALOGBOX(0)
Called from TDIALOG:ACTIVATE(246)
Called from MNTTBS(962)
Called from TBSSETUP(679)
Called from (b)MAIN(261)
Called from TWINDOW:ACTIVATE(0)
Called from MAIN(261)



Mel Smith

2006-09-01, 6:55 pm


Dear Friends,

I changed *many* things this morning, and now the problem has
disappeared -- and I don't know why ???

I'll let you know when I find out

But I would *still* like to know what settings I should use for Stack
and Heap ,and how they affect the running of a Clipper/FiveWin app ??

Thanks.

-Mel Smith



Stephen Quinn

2006-09-01, 9:55 pm

Mel

Does your link script call FiveWin.lnk prior to or after the follwing line

> BLINKER PROCEDURE DEPTH 50


You might read the Bllinker docs as the above statement is approx. the same as
saying
STACK 5000
and Blinker will use either the first or last one in the link script (sorry I
can't recall which)

So putting the following 2 lines in the same link script
BLINKER PROCEDURE DEPTH 50
STACK 8000
will get you a 5K or 8K stack size depending on the order of the lines in the
link script.

I used to use
BLINKER PROCEDURE DEPTH 80

HTH
Steve


Mel Smith

2006-09-02, 6:55 pm

Stephen said:

> Does your link script call FiveWin.lnk prior to or after the follwing line
>
>


I call the fivewin.lnk near the end of my main link script, and looked
over all of Antonio's old examples to find some reason for the choices he
made, but found none.

> You might read the Blinker docs as the above statement is approx. the same

as
> saying
> STACK 5000
> and Blinker will use either the first or last one in the link script

(sorry I
> can't recall which)
>

Yes, I read over my Blinker docs without getting a much deeper
understanding of the usage of Stack and Heap :((

And, I changed 'Procedure Depth' several times to no effect, but then
wondered how his 'Defbegin' --- 'DefEnd' block (with stacksize and heapsize
embedded) in *his* fivewin.lnk fil;e affected my 'Procedure Depth' command
earlier in the main link script.

Puzzling. It would be great to have definitive guidelines for usage of
these commands.

Thanks for the response.

-Mel Smith


Stephen Quinn

2006-09-02, 9:55 pm

Mel

> Yes, I read over my Blinker docs without getting a much deeper
> understanding of the usage of Stack and Heap :((


Found a copy of my Blinker V4 help file and here's what it says
-------------------
PROCEDURE DEPTH

Since both this command and the STACK command control the size of the
application stack, only one of these commands should be used (the last one
specified is the one that is processed).

Programmers using languages other than CA-Clipper should use the STACK command
directly, since the calculation that Blinker performs to compute the final stack
size with this command is based on the stack requirements for CA-Clipper
procedures.

Blinker can only check the stack when executing overlaid code.
However, some applications making use of third party libraries linked into the
root, especially in a network environment, may require an increase in the
PROCEDURE DEPTH.
Symptoms indicating this include erratic hanging of the machine, spurious
characters on the screen and other fatal errors which do not happen regularly.


HTH
Steve


Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com