Solved

Stack overflow in VB, how to prevent/control

Posted on 2001-07-14
3
497 Views
Last Modified: 2008-02-20
I created a VB program which is in the process of development. The stage
I am in now, I simply acess a data base of 8000 stocks and transfer all
available price data which is available for whatever is in the data base
into indexed locations for (open, high, low, close, volume & date). I
transfer this for each stock and when I am still in the A stocks I get a
stack overflow.  I know what a stack is, but have no idea how to control
same (clear it out or change it's size with respect to VB use of same.
What should I do to control the size, prevent overflow.

Each time I go to access the new stock I cycle through various SUBs
which perform task like 'increment the index' and pass control back in a
loop which possibly produces a continuous series of the same stack
entries.  If I work to prevent these loops, will that solve my problem.
Doing so just makes me repeat the same code in many places and violates
my sense of good practice.   Thanks
0
Comment
Question by:WinniePough
3 Comments
 
LVL 15

Accepted Solution

by:
ameba earned 50 total points
ID: 6282609
Some stack error causes:
1. Reentering some procedure,
2. Usage of DoEvents,
3. Too big local variables (big string or array declared at procedure level)

For 1 and 2 check program logic; add flags to control 'states'.
For 3 - move your big array or string declaration to MODULE level.

If this doesn't help, post some code... e.g. procedure which gives stack error.
0
 
LVL 49

Expert Comment

by:DanRollins
ID: 7086142
Hi WinniePough@devx,
You've requested to delete this question, but its status remains as 'Pending Delete' because one or more comments have been added.  Normally, the only way to fully delete such a Question is to post a message to Community Support and ask for assistance.

EE is making a one-time database sweep to purge the Pending Delete Questions automatically.  During this sweep:

    WinniePough@devx -- To allow the deletion to proceed:  Do nothing.
    EXPERTS -- Please DON'T POST a comment except to contest this deletion.

In the future, please refer to http://www.experts-exchange.com/jsp/cmtyHelpDesk.jsp#8 for instruction on deleting questions.

DanRollins -- EE database cleanup volunteer
0
 
LVL 1

Expert Comment

by:Moondancer
ID: 7105981
Finalized by Moondancer - EE Moderator
0

Featured Post

Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

Join & Write a Comment

Most everyone who has done any programming in VB6 knows that you can do something in code like Debug.Print MyVar and that when the program runs from the IDE, the value of MyVar will be displayed in the Immediate Window. Less well known is Debug.Asse…
This article describes some techniques which will make your VBA or Visual Basic Classic code easier to understand and maintain, whether by you, your replacement, or another Experts-Exchange expert.
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now