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...


Anmelden zum Antworten