Advertisement

02.25.2006 at 07:23AM PST, ID: 21751402
[x]
Attachment Details
[x]
The Solution Rating System

With so many solutions, how can you tell which solutions are most likely to help you and which ones are not? To provide you with a tool to use, we rate our solutions based on various elements that most accurately determine if a solution is a quality solution. To explain what factors affect the solution rating, here are the elements we take into consideration when formulating our solution rating.

  • The Grade of the Solution
  • The Zone Rank of the Expert Providing the Solution
  • The Number of Author and Expert Comments
  • The Number of Experts Contributing
  • The Feedback of the Community

Your Input Matters
Because of the way the system is set up, the most important variable in this equation is you. As a member of Experts Exchange, you are able to cast your vote on the quality of the solutions in regard to how complete, accurate, helpful and easy to understand each solution is. When you provide your feedback, each rating is adjusted accordingly. So, if you see a solution that has a poor rating that you think is a good solution, let us know by rating it. As you do, the rating will be adjusted and will become more accurate for other members of our site.

If you have any suggestions that you would like to make for our rating system, please ask a question in the Suggestions Zone of Community Support.

Thank you!

7.0

Problem with extension DLL that uses MFC

Asked by ulf_k in Windows MFC Programming, Microsoft Programming, Plug Ins

Tags: , ,

Hi all,
i have a weird problem.
I've build a framework for myself that can take plugins.
The framework itself is a mfc extension dll and exports some baseclasses to be inherited by the plugins. The classes are exported via the AFX_EXT_CLASS macro.
Every plugin has to provide a cdialog, because every plugin will be shown as a tab.
The plugins are loaded via LoadLibrary at runtime.
Every plugin has a exported method wich instatiates a CDialog and returns the pointer.
I get the exprted method via GetProcAddress(...) and call it afterwards.
So far so good, the dialog of every plugin can be displayed.
But when it comes to overriding the method PreTranslateMessage in the plugins, it won't work. PreTranslateMessage is never called.
It took my bloody ages to track that problem down.
The point is, the initialization method of the plugin is as follows

inline __declspec(dllexport) void* getInstance(xpsc::TabManager& tabMgr)
{
      AFX_MANAGE_STATE(AfxGetStaticModuleState());
      return new xpsc::ipc::ConnectionsTab(tabMgr);
}

The weird thing is, if i comment out the line "AFX_MANAGE_STATE(AfxGetStaticModuleState());" PreTranslateMessage gets called but i cannot access any resources from this plugin dll.
If the line is back in, PreTranslateMessage does not get called but i can access all the resources.
I know the the AFX_MANAGE_STATE macro is there to do some 'magic' to let me access the resources of my plugin dll and not of the application. But can anyone tell me why PreTranslateMessage does not get called??

I hope i've described the problem as detailed as needed. If not i'll try to put up more information on that.
I've read a lot on the net about similar problems, but i never understood on how to solve this.
Many thanks in advance for any advice.

Have a nice day!
Greetings, -ulf-
Start Free Trial
 
 
[+][-]02.25.2006 at 10:51PM PST, ID: 16048204

Assisted solutions are selected by the member who asked the question as a comment that contributed to their question's solution.

Start your 7-day free trial to view this Assisted Solution or ask the Experts your question.

 
[+][-]02.26.2006 at 08:29PM PST, ID: 16052684

View this solution now by starting your 7-day free trial. Setting up your free trial is quick, easy, and secure. We will return you to this solution, unlocked, when you're done.

 

About this solution

Zones: Windows MFC Programming, Microsoft Programming, Plug Ins
Tags: mfc, dll, extension
Sign Up Now!
Solution Provided By: venkaiah
Participating Experts: 3
Solution Grade: B
 
 
[+][-]02.26.2006 at 09:05PM PST, ID: 16052838

At Experts Exchange, members can ask their questions to thousands of technology professionals, also known as Experts. Experts compete and collaborate to answer those questions by leaving comments like this one.

Start your 7-day free trial to view this Expert Comment or ask the Experts your question.

 
[+][-]02.27.2006 at 05:32AM PST, ID: 16054850

Often, when Experts are collaborating with members who have asked questions, they will request additional information about the problem. Askers respond with an author comment like this one.

Start your 7-day free trial to view this Author Comment or ask the Experts your question.

 
[+][-]04.09.2006 at 07:58PM PDT, ID: 16414222

Experts Exchange has a courteous staff of administrators who help members get the most out of the website by means of administrative comments like this one.

Start your 7-day free trial to view this Administrative Comment or ask the Experts your question.

 
[+][-]04.10.2006 at 12:03AM PDT, ID: 16414951

Often, when Experts are collaborating with members who have asked questions, they will request additional information about the problem. Askers respond with an author comment like this one.

Start your 7-day free trial to view this Author Comment or ask the Experts your question.

 
[+][-]04.10.2006 at 12:51PM PDT, ID: 16420714

At Experts Exchange, members can ask their questions to thousands of technology professionals, also known as Experts. Experts compete and collaborate to answer those questions by leaving comments like this one.

Start your 7-day free trial to view this Expert Comment or ask the Experts your question.

 
 
Loading Advertisement...
20080716-EE-VQP-32