Hi
I have a question, I'm working on a MFC assigment and I encountered on a problem,and fixed it after spending houres searching the internet and thinking . Here is what the problem was, my project was working fine but when I would close it a run time check error ocures saying "stack around InitCtrls variable was corrupted", variable InitCtrls is defined
1. INITCOMMONCONTROLSEX InitCtrls;
2. InitCtrls.dwSize = sizeof(InitCtrls);
3. InitCtrls.dwICC = ICC_STANDARD_CLASSES;
4. InitCommonControlsEx(&InitCtrls);
Now I know that when this error ocures that there isn't enough memory for some variable
example:
int a[4];
a[5]=25; //stack over variable a corrupted
In my problem the line 3. was defined like this
InitCtrls.dwICC =ICC_WIN95_CLASSES;
and when I changed it to
InitCtrls.dwICC = ICC_STANDARD_CLASSES;
the problem was fixed. Finnaly my question is how does changing the code in line 3. relate with the simple example showed above? what do ICC_WIN95_CLASSES,ICC_STANDARD_CLASSES mean?