EQuestionAnswers.com Computer/Electronics Questions and Answers
C, C++, VC++, COM/DCOM, DLL and more
#Login #Sign up  Facebook Twitter TGoogle+
 

#Previous question #Index of DLL Questions #Next question

For normal class or function when we imported or exported has to go with two prototypes.

Exporting: When use in DLL project our prototype should be.
class __declspec(dllexport) CMyAboutBox;

Importing: When we are using in an application our prototype should be.
class __declspec(dllimport) CMyAboutBox;

For MFC we use only one common prototype i.e.
class AFX_EXT_CLASS CMyAboutBox;

AFX_EXT_CLASS macro is actually defined in two way for two projects thus we are able to use only one prototype.

Definitions are like the following:

// for classes
#ifndef AFX_CLASS_EXPORT
#define AFX_CLASS_EXPORT __declspec(dllexport)
#endif
#ifndef AFX_CLASS_IMPORT
#define AFX_CLASS_IMPORT __declspec(dllimport)
#endif
#ifdef _AFXEXT
#define AFX_EXT_CLASS       AFX_CLASS_EXPORT
#else
#define AFX_EXT_CLASS       AFX_CLASS_IMPORT
#endif

When we are using a DLL project _AFXDLL and _AFXEXT are defined in preprocessors in the project settings thus the resultant expanded form is
Class __declspec(dllexport) CMyAboutBox;

For Application project _AFXEXT macro is not defined thus
thus the resultant expanded form is
class __declspec(dllimport) CMyAboutBox;

You have viewed 1 page out of 27. Your DLL learning is 0.00% complete. Login to check your learning progress.

 Vote 0

Similar topics related to this section

# DLL Frequently Asked Questions
# Frequently Asked Questions - DLL-files.com
# Dependency Walker Frequently Asked Questions (FAQ)
# Top 10 DLL Questions !
# DLL COM DCOM Interview Questions and Answers

* #1 webmaster Sun 23 Nov/2014 08:41:35(GMT)  Like 0 Unlike 0

Dear Users,

We are pleased to inform you that a forum/blog has been incorporated with www.mybestnotes.co.in. You are welcomed to add your comments, requests, codes, solutions and feedback to it. Please login(if already a member) or signup(for free) to avail to this facility.

Regards,
Webmaster

Your message goes here:

Name:Guest
Email:anonymous@unknown.com
My Post:*
Secutiry Code: ******  *
Preview this compose before posting this in discussion forum.
 
Note:
  1. Use [Sxx] code to show smiles. Example [S02]
  2. Use [URL ], example [URL http://www.google.com/]
  3. To display code or un formatted text use [CODE] [/CODE]. Example: [CODE] printf("Hello world"); [/CODE]
 [S01]   [S02]   [S03]   [S04]   [S05]   [S06]   [S07]   [S08] 
 [S09]   [S10]   [S11]   [S12]   [S13]   [S14]   [S15]   [S16] 
 [S17]   [S18]   [S19]   [S20]   [S21]   [S22]   [S23]   [S24] 

Note: Only members are allowed, * fields are mandatory.