|
the ecx value is 206832, and the eax value is 15741120
I don't understand what does the ecx and the eax mean and how it gets initialized.
However, before the debug window bring me to CHKSTK.ASM, the error dialog box said 'Unhandled exception... ..Stack Overflow'.
thanks
|
|
|
|
|
The error said stack overflow.
You are looking in the wrong place.
chkstk.asm is where the program actually ran out of stack memory, but your problem is a design issue.
When the error happens look at the call stack in the debugger to see what function(s) were called to produce the overflow.
You either:
1. Tried to allocate too much memory from the stack.
e.g.
void badfunc( void )
{
long badvar[128*1024];
...
}
or,
2. Got caught in a deep function call loop that ended with the same effect as 1.
e.g. for small values this is fine, for larger values it will blow the stack
long badrecurse( long R )
{
long r = 1; // alloc 4 bytes off stack - each iteration!
if( R > 1 ) r = badrecurse(R-1);
return(R * r);
}
...cmk
Save the whales - collect the whole set
|
|
|
|
|
First of all I have to say that this is my first MFC interface I've ever built for a program that works perfectly under DOS.
The problem is next ... The simulation uses loop that ends only on exit command (something like never-ending loop). Interface is perfect in point that it does what it has to do ... but the problem occurs about the commands ... When I start the program it starts with updateing the interface with the caculations but the commands are not accessible (in fact - they are, but the pressing on them causes the simulation to go to "Not reponding" - it looks like the overloading memory or something like that).
I hope that I decribed it well ... so please help ..
And keep in mind that I am beginner in this kind a programming, so please do not post too complicate solutions
|
|
|
|
|
acinosanduce wrote:
I hope that I decribed it well ... so please help ..
What exactly is it that you need help with?
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
I want to make commands (buttons) on the main window not going to not responding mode ...
More in detail ::
On the main window there are three buttons Start, Pause and Exit ...
On Start it starts the simulation (never-ending loop) and works perfectly in updating data on the window ... but in the same time I'm not able to click on the other buttons like Pause or Exit - because the program stucks (looks like memory overloading or something) ...
So the major question is :: Where did I make a mistake?? What sould I do or implement??
|
|
|
|
|
Your application currently only has one message pump, and it is busy doing whatever the Start button told it to do. You need to create a secondary thread to do this work, thus leaving the primary thread free to handle the UI stuff. See here and here.
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
I will check it now ... thanx in advance if it will solve the problem
|
|
|
|
|
In addition to the links suggested by David, see this[^] article, specifically the section "Responding to user input while performing a long task".
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
You need to use threads;
Simply declare global function in your ...Dlg.cpp file :
UINT Thread (LPVOID pParam)
{
//// Here write your loop
for(...)
{
...
}
return 0;
}
and then add doubleclick on the Start button and add this line of code.
{
...
AfxBeginThread(Thread,0);
...
}
you can also manage this thread by changing abovewritten code with this :
CWinThread * thread = AfxBeginThread(Thread,0);
//if you want to pause this thread then use Suspend() func
thread->Suspend();
//to resume it call
thread->Resume();
Good luck
m0n0
|
|
|
|
|
Thanx guys .. I implemented this working thread (somthing like you suggested) .. but I have one another problem ...
In that working thread I am using UpdateData functions ... and the program compiles prefectly, but when I'm starting it I'm getting ::
Debug Assertion Failure!
File: wincore.cpp
Line: 884
Pressing on ignore button repeats the Assert but in the background I can see that aplication runs well.
So, the question is :: what should I write instead of UpdateData(T/F)???
Just to say that application is Dialog based (so it has only one window)!
|
|
|
|
|
Hi, im working on a Single Sing On system using Visual C 6 SP 5.
I need to use the user32 method AllowSetForegroundWindow, only available in newer versions of user32.lib
There is any way i can update the libs and .h included in VC 6?
Thanks in advance
|
|
|
|
|
Kharfax wrote:
There is any way i can update the libs and .h included in VC 6?
Are you using the newest Visual Studio SP and Platform SDK?
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
Im actually downloading the SP6 but dont say anything about updating the included libraries.
My platform SDK, im almost sure is really old, but i cant find it to download.
Maybe is this "Windows® Server 2003 SP1 Platform SDK"?
|
|
|
|
|
Yes... Is that, now i should wait to download 400 MB
Thanks
|
|
|
|
|
Kharfax wrote:
Maybe is this "Windows® Server 2003 SP1 Platform SDK"?
Yes. I'm not sure why MS deciced to give it such a name. If connection speed is the issue and you have access to a library with a broadband connection and a CD burner, see if they will let you download it. If you don't want to download it, you can buy the CD. Seems like it is around $10.
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
hi, i'm implementing the dijkstra's algorithm. when i complied the .dll file here comes out teh errors:
error C2664: 'TextOutW' : cannot convert parameter 4 from 'char [10]' to 'const unsigned short *'
could anyone help me deal with it?
|
|
|
|
|
Sounds like the dll is being compiled with a UNICODE configuration.
Enclose your string with TEXT() or _T("") and it should work.
This will use the appropriate string type (char or wchar_t) for this function.
I Dream of Absolute Zero
|
|
|
|
|
Hi
How would i write c++ code to make sure that a deep copy
takes place with the following class definition?
class CShop<br />
{<br />
public:<br />
CShop();<br />
~CShop();<br />
<br />
private:<br />
CEmployeeContainer* m_pEmployee;<br />
char* m_strShopName;<br />
};<br />
An explanation will also do rather than code.
Thanks in advance.
Education begins a gentleman,
conversation completes him
|
|
|
|
|
Hello,
Your subject is the answer! Just write a copy constructor that copies all elements of the container and the string..
Example code:
<br />
CShop::CShop(const CShop& ShopToCopy)<br />
{<br />
m_pEmployee = new CEmployeeContainer();<br />
for( CEmployeeContainer::iterator i = ShopToCopy->m_pEmployee->begin(); <br />
i != ShopToCopy->m_pEmployee->end(); i++ )<br />
{<br />
m_pEmployee->insert(i);<br />
}<br />
<br />
m_strShopName = new char[strlen(ShopToCopy->m_strShopName) + 1];<br />
strcpy(m_strShopName, ShopToCopy->m_strShopName);<br />
}<br />
Hope this helps
I also got the blogging virus..[^]
|
|
|
|
|
In addition to Bob's reply, I would suggest replacing the char* member variable with a string or CString type instead. That's one less memory management detail to have to worry about.
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
Ok i will, thanks for the help guys much appreciated.
Thanks.
Education begins a gentleman,
conversation completes him
|
|
|
|
|
Hi everybody,
I have several points in an array.
I want to add a code that permits that : if i stop the mouse upon one of this points on the screen show a ToolTip saying which is the order of the array of this point. How can I do it? I know that if instead of stop the mouse; it was doing button-right of the mouse I would have to call ON_WM_RBUTTONDOWN...but in this case? And if once showed the tooltip I move the mouse...how do I make it disappear? I have had a look to the codes already written...but almost all speaks about controls...and I need any point on the screen.
Thanks
Javier
|
|
|
|
|
The WM_MOUSEMOUSE will give you the poit of the mouse. so...
|
|
|
|
|
IS there any limit on the maximum number of controls we can add to a Dialogue box resource in VC++. One of my application needs many controls to be added. But after adding may be around 60-70 controls on that dialogue box, now its not allowing me to add any controls. Please suggest.
Ritheesh V Shetty
|
|
|
|
|
Ritheesh wrote:
IS there any limit on the maximum number of controls we can add to a Dialogue box resource in VC++.
Yes, 255 at design time. If you need more than that, add them at run time.
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|