|
Dave Calkins wrote: Any ideas what (if anything) this strange Spy++ behavior could indicate?
yes
Dave Calkins wrote: third party GUI library we use
Therefore
Dave Calkins wrote: seeing some wierdness.
Does this library include source code? If not then you need to be asking them not us. If the library does not include source code then you have eliminated yourself or any other developer from solving the problem. You are now completely at the mercy of the third party. Are you having fun yet?
led mike
|
|
|
|
|
led mike wrote: yes
can you be more specific?
led mike wrote: Does this library include source code? If not then you need to be asking them not us. If the library does not include source code then you have eliminated yourself or any other developer from solving the problem. You are now completely at the mercy of the third party. Are you having fun yet?
yes, the library includes source code. I have asked them and they're not sure either. Its a strange issue and the Spy++ behavior seemed odd so I thought I'd ask what that could indicate.
The issue is we're using custom control from the library which provides menu toolbar functionality. It uses a menu resource along with toolbar icons and provides icons in the menus, etc. Its worked fine for some time, but upgrading the third party GUI library results in the menu no longer rendering. The toolbar is there, but is empty. None of the menu items render.
Creating an empty sample project works fine. The menu shows as expected using the new vesion of the library. So there's something messed up with the project. I tried Spy++ just to see what was there and saw the strange mouse-over behavior. As I said, there's some straw grasping going on
|
|
|
|
|
Well at least you have the source so you will just have to dig in and figure it out. Menu's can be a quite stubborn. It sounds like perhaps something is not being created successfully so I might start by checking out how they implemented creation. Like are they logging or asserting or throwing or whatever. Since you have source you could add any of those that might be helpful in researching the problem.
led mike
|
|
|
|
|
well, I noticed something else which might provide a hint. If I hit the Alt key and then the down arrow, the drop down menus appear, but they appear as though they're dropping down from under the title bar and each top level menu (accessed by using the right and left arrow keys) shows up in the same place.
I guess I'll dig into their rendering code. Maybe the positioning was somehow hosed.
|
|
|
|
|
Interesting. Are your controls, by chance, contained within other controls?
Why is common sense not common?
Never argue with an idiot. They will drag you down to their level where they are an expert.
Sometimes it takes a lot of work to be lazy
Individuality is fine, as long as we do it together - F. Burns
|
|
|
|
|
no, they're direct children of the dialog.
|
|
|
|
|
Hmmm... I don't have that same problem (using the same library). Contained control controls are not showing up and the ones that do, Spy++ says it can't find the window at all. So while I can find the controls, Spy++ still can't find them.
Why is common sense not common?
Never argue with an idiot. They will drag you down to their level where they are an expert.
Sometimes it takes a lot of work to be lazy
Individuality is fine, as long as we do it together - F. Burns
|
|
|
|
|
Hello everyone,
I am learning set_se_translator, and there are some good resources about how to translate structured exception into C++ exception, like,
http://www.codeproject.com/KB/cpp/seexception.aspx
1.
What makes me confused is, when we are talking about translate, it means both structured exception and C++ exception may occur in a C++ program, right?
2.
But from build option, we can select either /EHa or /EHsc, means we can only select one type of exception, either asynchronous (structured) or synchronous (C++ exception).
(1) and (2) are conflict?
thanks in advance,
George
|
|
|
|
|
/EHsc enables standard exceptions. It does say nothing about the proprietary form.
Also, MSDN clearly states
"The two exception handling models, synchronous and asynchronous, are fully compatible and can be mixed in the same application."
under the topic "Exception Handling: Default Synchronous Exception Model"
Let's think the unthinkable, let's do the undoable, let's prepare to grapple with the ineffable itself, and see if we may not eff it after all. Douglas Adams, "Dirk Gently's Holistic Detective Agency"
|
|
|
|
|
Thanks jhwurmbach,
1. You mean in the current part of the application, which handles C++ exception;
2. The current part of application invokes another model, which throws structured exception to the current part;
3. The current part of application uses set_se_translator to convert structured exception to C++ exception and catch it (since current model is designed to handle only C++ exception).
Is my description correct?
If yes, my confusion is in the project setting, we could either select /EHa or /EHsc, means only one model could be selected, and how to make the current part and the other model in my sample above to have different exception model?
regards,
George
|
|
|
|
|
Please read the configuration settings again!
Enable C++ Exceptions:
1: No
2: Yes (/EHsc)
3: Yes with SEH Exceptions (/EHa)
Maxwell Chen
|
|
|
|
|
Sorry Maxwell,
I think it is my mistake.
The important point should be,
Maxwell Chen wrote: 3: Yes with SEH Exceptions (/EHa) // Standard C++ way plus SEH.
which means enable both structured exception and C++ exception, right?
regards,
George
|
|
|
|
|
Yes.
You can create a small test project and test both ways mixed.
Maxwell Chen
|
|
|
|
|
Thanks Maxwell,
1.
So, set_se_handler works only in /EHa mode, since in /EHsc, there is no structured exception, so no need to convert, right?
2.
Maxwell Chen wrote: test both ways mixed
Confused about what do you mean both ways. In my current understanding, only /EHa mixed structured and C++ exception. /EHsc only produces C++ exception -- no mix. Correct me if I am wrong.
regards,
George
|
|
|
|
|
You were asking if the SEH model is compatible with the Standard C++ Exception model. You have already got the answer to your question. The SEH model and the Standard C++ Exception model can exist together in one single project. And you know the syntaxes of both models. I suggest you to launch your VC++ IDE, and test it yourself.
Maxwell Chen
|
|
|
|
|
Thanks Maxwell!
Sorry I have not made myself understood. I just want to make a summary of this question and let you have a final review to see whether it is correct.
1. set_se_translator only works for /EHa mode;
2. in /EHsc mode, when there are programming errors, like dereferencing a NULL pointer, structured exception will not occur and program will report error and let end user select to debug;
3. /EHa mode is more accurately a mixed mode of structured exception and C++ exception, not structured exception only, as quoted from Visual Studio 2008
Enable C++ Exceptions Yes With SEH Exceptions (/EHa)
regards,
George
|
|
|
|
|
hi...
My file Location is "D:\paul.txt
i have a button. if i click the button , aove file should be open.
how can i open? can anybody help me?
thank you.
paulraj
|
|
|
|
|
Do u want it to be open in the notepad editor or wanna get its handle?
Come online at:-
jubinc@skype
|
|
|
|
|
|
Then u can do the following:-
1. Use fopen(): It is a CRT function.<br />
2. Use CreateFile (): It is a Win32 API
Come online at:-
jubinc@skype
|
|
|
|
|
ok... thank you..
paulraj
|
|
|
|
|
Hi
here is my code
CDedJed d(this); //passes through constructor and member functions as well
d.Domodal(); // goes into the windows files wincore.cpp dlgcore.cpp dbgrpt.cpp
gives out debug assert error at the following lcation
->!::PeekMessage(pMsg, NULL, NULL, NULL, PM_NOREMOVE)
-> VERIFY(RunModalLoop(dwFlags) == m_nModalResult);
-> domodal();
FYI: resource IDs which are loading properly..checked with resource.h
help on this regard
Neel
|
|
|
|
|
Debug more into the RunModalLoop(dwFlags) function.
Come online at:-
jubinc@skype
|
|
|
|
|
thanks for ur reply i use gtalk, got no skype setup/accnt.
iam online urneel@gmail.com
FYI: This error occur only in debug mode but not in release mode.
here is debug details
VERIFY(RunModalLoop(dwFlags) == m_nModalResult);
ASSERT(ContinueModal());
// pump message, but quit on WM_QUIT
if (!AfxPumpMessage())
{
AfxPostQuitMessage(0);
return -1;
}
BOOL AFXAPI AfxPumpMessage()
{
CWinThread *pThread = AfxGetThread();
if( pThread )
return pThread->PumpMessage(); // here i end up with debug assert error
else
return AfxInternalPumpMessage();
}
regards
Neel
|
|
|
|
|
Could u write the declaration of the class CDedJed?
Come online at:-
jubinc@skype
|
|
|
|