[[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...]]