2011-03-01 14 views
7

के लिए एमएफसी डीएलजी क्लास लिंक त्रुटियों में मैंने एक डीएलजी बॉक्स क्लास (डीएलजी क्लास विज़ार्ड/एमएफसी विज़ार्ड के साथ बनाया गया) के लिए मौजूदा हेडर की प्रतिलिपि बनाई है। जब तक मैंने परियोजना में सीपीपी फ़ाइल नहीं जोड़ा, तब तक सब ठीक हो गए। अब मैं कुछ MFC जादू तरीकों के लिए अजीब लिंक त्रुटियों मिलती है:MyClass :: GetMessageMap() और MyClass :: GetRuntimeClass (MSVC 2008)

LNK2001 त्रुटि: अनसुलझे बाहरी प्रतीक? "सार्वजनिक: आभासी struct CRuntimeClass * __thiscall DlgGapWindow :: GetRuntimeClass (शून्य) स्थिरांक " (GetRuntimeClass @ DlgGapWindow @@ UBEPAUCRuntimeClass @@ XZ)

LNK2001 त्रुटि: अनसुलझे बाहरी प्रतीक "संरक्षित: आभासी struct AFX_MSGMAP स्थिरांक * __thiscall DlgGapWindow :: GetMessageMap (शून्य) स्थिरांक " (? GetMessageMap @ DlgGapWindow @@ MBEPBUAFX_MSGMAP @@ XZ)

यह क्यों होगा?

यहाँ हैडर

class DlgGapWindow : public CDialog 
{ 
    DECLARE_DYNAMIC(DlgGapWindow) 

public: 

    DlgGapWindow(CWnd* pParent = NULL); 

    virtual ~DlgGapWindow(); 
    virtual BOOL PreTranslateMessage(MSG* pMsg); 


protected: 
    virtual BOOL OnInitDialog(); 
    enum { IDD = IDD_DIALOG_GAP_VIEW };// Dialog Data 

    GapViewer m_chart; 

protected: 
    virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support 

    afx_msg void OnSize(UINT nType, int cx, int cy); 
    afx_msg void OnSizing(UINT fwSide, LPRECT pRect) ; 
    afx_msg void OnTimer(ONTIMER_TYPE nIDEvent); 
    afx_msg void OnDestroy(); 
    afx_msg void OnClose(); 
    afx_msg void OnActivate(UINT,CWnd *,BOOL); 
    afx_msg void OnRButtonDown(UINT nFlags, CPoint point); 
    afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point); 

    DECLARE_MESSAGE_MAP() 

}; 

मैं कक्षा मैं इसे मॉडलिंग से कुछ भी नहीं दिख रहा है कि उसके बाद लापता होने लगता है में प्रासंगिक कोड है। मुझे यह पता लगाने के लिए Google या अन्य खोजों के साथ कुछ भी उपयोगी नहीं मिला है कि ये जादू एमएफसी चीजें क्यों गुम हैं। मेरे अन्य वर्ग स्पष्ट रूप से उन्हें परिभाषित नहीं करते हैं और उनमें त्रुटियां नहीं हैं।

आरसी फ़ाइल में एक संबंधित डीएलजी परिभाषा है।

संपादित करें:

DECLARE_DYNAMIC मदद के लिए धन्यवाद - बस GetMessagemap() त्रुटि - अब मैं GetRuntimClass() त्रुटि नहीं है।

+1

क्या आपको वास्तव में 'DECLARE_DYNAMIC' मैक्रो की आवश्यकता है? यदि हां, तो क्या आपके पास 'DlgGapWindow' cpp फ़ाइल में' IMPLEMENT_DYNAMIC' का समतुल्य कार्यान्वयन है? 'DECLARE_DYNAMIC' पर जानकारी के लिए यहां देखें: http://msdn.microsoft.com/en-us/library/ywz9k63y%28VS.80%29.aspx – yasouser

उत्तर

14

आपने DECLARE_DYNAMIC का उपयोग किया लेकिन IMPLEMENT_DYNAMIC भूल गया।

+0

ग्रेट - धन्यवाद। यह GetRuntimeClass() को हल करता है लेकिन मेरे पास अभी भी GetMessageMap() लिंक त्रुटि है। – Tim

+2

वही बात, कोई BEGIN/END_MESSAGE_MAP नहीं। –

0

ओप्स

मैं BEGIN_MESSAGE_MAP भूल गया।

मदद के लिए धन्यवाद

संबंधित मुद्दे