|
No, that didn't work
|
|
|
|
|
What does "didn't work" mean?
I didn't expect it to fix the exception - i only pointed
out the fact that it was missing and wondered if there
was a reason.
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Sorry, just thought that might have fixed it.
|
|
|
|
|
When the exception is thrown, what does the call stack look like?
"Love people and use things, not love things and use people." - Unknown
"The brick walls are there for a reason...to stop the people who don't want it badly enough." - Randy Pausch
|
|
|
|
|
here's a copy of the stack
not sure what I am looking for???
Jim
std::vector<UnitInfoStruct *,std::allocator<UnitInfoStruct *> >::size() line 114 + 15 bytes
CAlinksRemoteControl::ScanForUnits() line 480 + 14 bytes
CMultiVueDlg::OnInitDialog() line 130
AfxDlgProc(HWND__ * 0x00240334, unsigned int 272, unsigned int 3081096, unsigned int 3081096) line 35 + 14 bytes
USER32! 7e418734()
USER32! 7e42413c()
USER32! 7e423b30()
USER32! 7e43e599()
USER32! 7e418734()
USER32! 7e418816()
USER32! 7e42a013()
USER32! 7e42a998()
CWnd::DefWindowProcA(unsigned int 272, unsigned int 3081096, long 0) line 1000 + 32 bytes
CWnd::Default() line 249
CDialog::HandleInitDialog(unsigned int 3081096, unsigned int 3081096) line 624 + 8 bytes
CWnd::OnWndMsg(unsigned int 272, unsigned int 3081096, long 0, long * 0x0012f800) line 1815 + 17 bytes
CWnd::WindowProc(unsigned int 272, unsigned int 3081096, long 0) line 1585 + 30 bytes
AfxCallWndProc(CWnd * 0x0012fc08 {CMultiVueDlg hWnd=???}, HWND__ * 0x00240334, unsigned int 272, unsigned int 3081096, long 0) line 215 + 26 bytes
AfxWndProc(HWND__ * 0x00240334, unsigned int 272, unsigned int 3081096, long 0) line 368
AfxWndProcBase(HWND__ * 0x00240334, unsigned int 272, unsigned int 3081096, long 0) line 220 + 21 bytes
USER32! 7e418734()
USER32! 7e418816()
USER32! 7e42927b()
USER32! 7e42651a()
USER32! 7e42683e()
USER32! 7e439b43()
CWnd::CreateDlgIndirect(const DLGTEMPLATE * 0x0042b540, CWnd * 0x00000000 {CWnd hWnd=???}, HINSTANCE__ * 0x00400000) line 327 + 36 bytes
CDialog::DoModal() line 531 + 32 bytes
CMultiVueApp::InitInstance() line 71 + 11 bytes
AfxWinMain(HINSTANCE__ * 0x00400000, HINSTANCE__ * 0x00000000, char * 0x00151f0c, int 1) line 39 + 11 bytes
WinMain(HINSTANCE__ * 0x00400000, HINSTANCE__ * 0x00000000, char * 0x00151f0c, int 1) line 30
WinMainCRTStartup() line 330 + 54 bytes
KERNEL32! 7c817067()
|
|
|
|
|
jimjim733 wrote: not sure what I am looking for???
It looks as though your code gets all the way into OnInitDialog() before the exception is thrown.
"Love people and use things, not love things and use people." - Unknown
"The brick walls are there for a reason...to stop the people who don't want it badly enough." - Randy Pausch
|
|
|
|
|
Like David said, you seem to get as far as to OnInitDialog .
Is it possible that the code using the vector doesn't run if the socket lib hasn't been initialized?
That could explain why the error "goes away" if you omit the call to WSAStartup .
To me it looks like the std::vector<UnitInfoStruct*> vector has not been created properly since vector::size() only operates on internal data and doesn't change anything.
Could it be that the vector variable is a pointer that you haven't allocated memory for?
Just guessing, but it could be worth checking...
"It's supposed to be hard, otherwise anybody could do it!" - selfquote "High speed never compensates for wrong direction!" - unknown
|
|
|
|
|
Okay, thanks.....i'll take a look
|
|
|
|
|
okay, can you help?
I am not sure how to do this
Below are the only references I have for UnitInfoStruct
struct UnitInfoStruct *pUnit = NULL;
pUnit = new struct UnitInfoStruct;
vector<struct UnitInfoStruct *> m_vszIPAddr;
struct UnitInfoStruct {
char szIPAddr[16];
char szSer[9];
};
As you can tell, I am struggling with this a bit.
Jim
|
|
|
|
|
Ok, it's the m_vszIPAddr variable I'm suspicious about, or rather its container since the variable itself is not a pointer.
The reason why I think this is suspicious is you get an access violation, which usually means a pointer referencing out-of-bounds memory e.g. a very low address.
Since you get the assertion inside the std::vector::size() function, which only operates on internal operators that doesn't reference memory outside the vector elements if initialized properly, my guess is that somehow the vector has not been initialized properly.
As the vector itself is not a pointer, it should be initialized when its container is created and that's why I'm curious about the container.
In your CAlinksRemoteControl::ScanForUnits() you must access the vector in some way, probably calling push_back() to add a new "unit".
I would also like to see the code for allocating memory for a new "unit", how data is assigned to it and how it is inserted into the vector.
"It's supposed to be hard, otherwise anybody could do it!" - selfquote "High speed never compensates for wrong direction!" - unknown
|
|
|
|
|
One thing I have tried is moving the WSAStartup to the main initDialog function and the app goes through. Any ideas????
jim
|
|
|
|
|
jimjim733 wrote: Any ideas?
Nope.
I suggest you follow the call chain into ScanForUnits() from OnInitDialog() in debug mode. Verify that all objects operated on are created properly.
"It's supposed to be hard, otherwise anybody could do it!" - selfquote "High speed never compensates for wrong direction!" - unknown
|
|
|
|
|
Hi,
I am using tab control in my dialog application. I need to change the background color for the tabs. I wrote DrawItem metho in CTabCtrl derived class. But the tab color is not changing. Please help me.
|
|
|
|
|
do you well defined the code snippet? what programming language is that?
|
|
|
|
|
Maito Gai wrote: what programming language is that?
C++/MFC
Somethings seem HARD to do, until we know how to do them.
_AnShUmAn_
|
|
|
|
|
aaaaaaoooooooouuuuccccchhhhh there's so many forums I've replied to some tips here.... from diff sections and I've forgot it is in C++/MFC section
|
|
|
|
|
Maito Gai wrote: so many forums
which forums!
Maito Gai wrote: from diff sections and I've forgot it is in C++/MFC section
A title is present at the top of the page for every forum, please do read it next time onwards. and the number of messages posted by you reads 9 in ur profile out of which 2 belong to this thread
Somethings seem HARD to do, until we know how to do them.
_AnShUmAn_
|
|
|
|
|
Maybe... I'm blind now with C# and C++
|
|
|
|
|
I guess we are on the c++ forum and I think hari said CTabCtrl,can you need to more help.
|
|
|
|
|
|
Hi all,
In my application i m taking help of this article.
http://www.codeproject.com/KB/tree/CFolderTreeCtrl.aspx?msg=2674697#xx2674697xx[^]
Here no coding done for KeyDownFunction.
I want to perform same action as of LButtonDown of this project.
i m try my lavel best but i m not succeed so please help me for this.
And tell how can i perform same action on Space key down same as LButton down.
I m already ask this question to author of this article.
Thanks in advance.
IN A DAY, WHEN YOU DON'T COME ACROSS ANY PROBLEMS - YOU CAN BE SURE THAT YOU ARE TRAVELLING IN A WRONG PATH
|
|
|
|
|
Can you use SendMessage API with WM_LBUTTONDOWN when the space key is pressed?
Somethings seem HARD to do, until we know how to do them.
_AnShUmAn_
|
|
|
|
|
No sir,
PLease tell me how can i do this
IN A DAY, WHEN YOU DON'T COME ACROSS ANY PROBLEMS - YOU CAN BE SURE THAT YOU ARE TRAVELLING IN A WRONG PATH
|
|
|
|
|
And the reason for not being able to do so is...?
Is capturing a key down event a problem or sending the message?
Somethings seem HARD to do, until we know how to do them.
_AnShUmAn_
|
|
|
|
|
_AnShUmAn_ wrote: And the reason for not being able to do so is...?
...too lazy ; or not smart enough
|
|
|
|