Seit Einfügen eines 2ten Konstruktors Fehler beim Aufruf von Klassenas.
-
Hallo,
ich habe in meiner Klasse einen zweiten Konstruktor mit anderen Parameter als dem Standardkonstruktor eingefügt. Seit dem habe ich das Problem, dass der Klassenassistent jedesmal meckert, wenn ich diesen benutzen möchte. Dann kommt die Fehlermeldung, dass ein doppelter Einfügeblock für meine Klasse in den Quellcodedateien vorherrscht. Nachdem ich diese Meldung mit ok bestätige, erscheint mein Klassenassistent, jetzt erhalte ich aber keine Informationen über methoden, member-Variablen etc. in meiner Klasse...
..was kann da das Problem sein...warum meckert er das an...und wie kann ich das verhindern?
gruss,
chullain
-
hm, wie wärs mal mit Sourcecode ???
-
*.h-Datei
#if !defined(AFX_USERMATCH_H__84FBA5B8_4B04_4627_8E9F_2FFFBFAC4741__INCLUDED_) #define AFX_USERMATCH_H__84FBA5B8_4B04_4627_8E9F_2FFFBFAC4741__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 // UserMatch.h : Header-Datei // ///////////////////////////////////////////////////////////////////////////// // Dialogfeld CUserMatch class CUserMatch : public CDialog { // Konstruktion public: CUserMatch(CWnd* pParent = NULL); // Standardkonstruktor CUserMatch(SAFEARRAY mUsers, CWnd* pParent = NULL); //Konstruktor mit RpConnection-Objekt ISaGsaRpTransaction RpTransaction; ISaGsaRpConnection RpConnection; long lLBoundUser, lUBoundUser; VARIANT avobjUsers, vVal; SAFEARRAY *users; ISaGsaRpObject objUser; // Dialogfelddaten //{{AFX_DATA(CUserMatch) enum { IDD = IDD_MATCH_USER }; CListBox m_MUnchangedUser; CListBox m_MOldUser; CListBox m_MNewUser; CString m_MFilePath; //}}AFX_DATA // Überschreibungen // Vom Klassen-Assistenten generierte virtuelle Funktionsüberschreibungen //{{AFX_VIRTUAL(CUserMatch) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV-Unterstützung //}}AFX_VIRTUAL // Implementierung protected: // Generierte Nachrichtenzuordnungsfunktionen //{{AFX_MSG(CUserMatch) virtual BOOL OnInitDialog(); afx_msg void OnMatch(); afx_msg void OnDir(); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ fügt unmittelbar vor der vorhergehenden Zeile zusätzliche Deklarationen ein. #endif // AFX_USERMATCH_H__84FBA5B8_4B04_4627_8E9F_2FFFBFAC4741__INCLUDED_*Anfang von .cpp-Datei
// UserMatch.cpp: Implementierungsdatei // #include "stdafx.h" #include <stdio.h> #include "UserInfo.h" #include "UserMatch.h" #include "UserDlg.h" #include<vector> #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // Dialogfeld CUserMatch CUserMatch::CUserMatch(CWnd* pParent /*=NULL*/) : CDialog(CUserMatch::IDD, pParent) { //{{AFX_DATA_INIT(CUserMatch) m_MFilePath = _T(""); //}}AFX_DATA_INIT } CUserMatch::CUserMatch(SAFEARRAY mUsers, CWnd* pParent) : CDialog(CUserMatch::IDD, pParent) { //{{AFX_DATA_INIT(CUserMatch) m_MFilePath = _T(""); users = &mUsers; //}}AFX_DATA_INIT } void CUserMatch::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CUserMatch) DDX_Control(pDX, IDC_LIST5, m_MUnchangedUser); DDX_Control(pDX, IDC_LIST4, m_MOldUser); DDX_Control(pDX, IDC_LIST1, m_MNewUser); DDX_Text(pDX, IDC_EDIT1, m_MFilePath); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CUserMatch, CDialog) //{{AFX_MSG_MAP(CUserMatch) ON_BN_CLICKED(ID_MATCH, OnMatch) ON_BN_CLICKED(ID_DIR, OnDir) //}}AFX_MSG_MAP END_MESSAGE_MAP()...ist ziemlich viel, ich weiss, aber ich hab ka Ahnung warum er das macht...
-
Lösch die //{{AFX_DATA_INIT - Kommentare aus deinem 2. Konstruktor.
-
Vielen Dank, hat auch funktioniert...