aldweb

Close I. aldweb

Close II. PC Freeware

Close III. Palm Freeware

Close IV. Palm Shareware

Close V. iziBasic Palm

Close VI. Palm Knowledge

Close VII. Pocket Computer

Close VIII. miniPortail

Special !



Mobile version of
the aldweb Site

m.aldweb.com


Neither French, nor English?

Try one of these flags then:
[de] [es] [it] [pt]
Search




Weather / Spam / www

Lyon Weather


aldweb against spam


Newsletter
To receive news about this website, consider subscribing to our Newsletter.
Subscribe
Unsubscribe
298 Subscribers
Family's web sites

Webmaster - Infos
Friends News
Visits

   visitors

   visitors online

Poll
What do you think of the new design of the aldweb Site?
 
Great !
Beautiful
Average
So ugly...
Results
forum.gifForum - iziBasic - Topic #1232

Forum - Forum
iziBasic - iziBasic


Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 257

active  Topic # 1232  Stack Overflow

21/07/2005 @ 14:05
by Watts

Anonymous



I have exceeded my stack size. I am trying to figure out how to get around this. The command chain seems to be a possible alternative. Can you give any pointers on using this function and a simple example of how to use it.
  Post an answer  Top

[]   


Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 1
--------
21/07/2005 @ 15:17
by aldweb

Anonymous

visitor
Hello Watts,


There are 4 stacks in iziBasic:
1. a Jump Stack: if this is the one in overflow, then you better check all your GOSUB/GOTO/RETURN...
2. a Number Stack and a Text Stack for constants, variables and arrays. If one of these 2 is in overflow, then the only workaround is to extend the MINOSVERSION compiling directive, but with limited compatibility with older devices as a counterpart.
3. a Code Stack. Then, there are 2 ways to extend it:
3a. either the MINOSVERSION use (Code Stack may then evolve from 4000 up to 24000 bytes size);
3b. or use the CHAIN statement.

I guess that you are talking about a "Code Stack Overflow" since you also talk about the CHAIN command

There are 2 sample programs shipped with iziBasic that show you how to deal with CHAINed segments of codes: Numerus (3 segments of codes CHAINed) and iBAddress (2 segments of codes CHAINed).

As Numerus and iBAddress are both provided in 2 versions (1 full file or 2/3 CHAINed segments files), you will easily understand the little differences to apply to your current source code by comparing their versions of source codes.

The main trick to know is that when using CHAIN, the execution pointer always move to the BEGIN statement of the new segment. Then, the idea is to set some variable before CHAINing to tell the CHAINed segment what to do.

Cheers,
aldweb
Write to aldweb   Post an answer  Top

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 2
--------
21/07/2005 @ 16:08
by Watts

Anonymous

visitor
It is the Code Stack Overflow. I will look at the examples provided.
Write to Watts   Post an answer  Top

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 3
--------
21/07/2005 @ 19:30
by Watts

Anonymous

visitor
I have the MINOSVERSION as high as possible 4.1 to be exact. I have tried using the CHAIN command again refering to the examples you referenced. The code is much to long to post here. Would it be possible for me to email it to you? The program will probably double in size by the time I get done. Therefore I need to resolve this issue somehow.
  Post an answer  Top

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 4
--------
21/07/2005 @ 21:07
by Watts

Anonymous

visitor
I have managed to get it to compile. I have added the CHAIN "program#2" statement once at the begining of the first program#1 after the required program directive statements. When I click on the icon for the program to run it displays the error "Exe Pointer Out Of Range"
Write to Watts   Post an answer  Top

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 5
--------
22/07/2005 @ 13:16
by aldweb

Anonymous

visitor
You have made a coding error somewhere, that's all I can say from the information you provide.

Cheers,
aldweb
Write to aldweb   Post an answer  Top
active topic active   closed topic closed   Sticky Sticky   New New message   -   Correct Correct message   Close Close topic   Make sticky Make sticky
[]
Forum Topic  Forum 



 
^ Top ^