[[https://www.revelation.com/|Sign up on the Revelation Software website to have access to the most current content, and to be able to ask questions and get answers from the Revelation community]]
==== Error Message (AREV Specific) ====
=== At 16 AUG 2000 08:55:38AM Lee Fong Lun wrote: ===
{{tag>"AREV Specific"}}
I am using Advanced Revelation verion 3. I was running a program and an error message ERRMSG27.4 came out. I was trying to find the cause of the message and unable to find out what causes it. What is this message means ?? What is the problem ?? I hope I can get some help here. Thank you.
----
=== At 16 AUG 2000 10:04AM [url=http://www.sprezzatura.com" onMouseOver=window.status=Click here to visit our web site?';return(true)]The Sprezzatura Group[/url] wrote: ===
This means that there are too many programs on the program stack. Try to use less {} references in your code as each dictionary item counts as a program.
[url=http://www.sprezzatura.com" ]The Sprezzatura Group[/url]
[i]World Leaders in all things RevSoft[/i]
[img]http://www.sprezzatura.com/zz.gif[/img]
----
=== At 18 AUG 2000 01:37AM Lee Fong Lun wrote: ===
Thanks for the reply. But what is a program stack ?? Is it when I run a program, the program will be placed in the stack ??
I have Advaned Revelation version 3 installed in a Novell server. And I run programs form a few workstations. It that mean all the programs that I run from different workstations are placed in the same program stack ?? Although they are running the same program ??
----
=== At 18 AUG 2000 09:19AM Don Miller - C3 Inc. wrote: ===
Lee ..
It doesn't matter what network you're using. Each instance of the program maintains its own local program stack in memory. It works roughly as follows:
1. Every Call (direct or indirect) inside a program uses an entry in the program stack. The current program is suspended, it's variables, etc. are saved and control transfers to the call. It doesn't matter whether it is a subroutine or a function. The problem can be aggrevated in indirect dictionary symbolics. So, for example if your program uses tempfield={SYMBOLIC_FIELD}, a stack entry will be used. If inside {SYMBOLIC_FIELD} you do something like:
a={Symbolic_1}
b={Symbolic_2}
c=XLATE("filename",{SOMEFIELD},"FIELDNAME",'X')
note that this uses 2 stack entries + 1 for the XLATE ...
...
@ams=somecalc
then the call inside your program to {SYMBOLIC_FIELD} will use a lot more program stack space than you might think. This can be exacerbated if this kind of thing is being done inside a called subroutine that is not declared as expendable. The stack variables will stay around until the main program terminates.
HTH
Don Miller
C3 Inc.
[[https://www.revelation.com/revweb/oecgi4p.php/O4W_HANDOFF?DESTN=O4W_RUN_FORM&INQID=NONWORKS_READ&SUMMARY=1&KEY=15F37A5B97FF9B7E8525693D0047030F|View this thread on the forum...]]