Problem beim öffnen eines Dialogs / Übergabe von Parametern



  • Hi,

    ich möchte aus einem Dialog heraus einen neuen Dialog öffnen und dabei einen Zeiger auf ein bereits erstelltes Objekt übergeben. Keine Kopie oder sowas.. möchte in dem neuen Dialog das erstellte Objekt direkt bearbeiten.

    Habe folgende Fehlermeldung

    Fehler 1 error C2664: 'OptionsDlg::OptionsDlg(CWnd *)': Konvertierung des Parameters 1 von 'Database **' in 'CWnd *' nicht möglich d:\projekte\neurotex\databasedlg.cpp 563

    Der Code sieht so aus

    ...
    Database* database;
    ...
    void DatabaseDlg::OnBnClickedOptions()
    {
    	OptionsDlg optionsDlg(&database);
    	optionsDlg.DoModal();
    }
    

    und in dem anderen Dialog

    public:
    	///standard constructor
    	OptionsDlg(CWnd* pParent = NULL);   
    	///overloaded constructor
    	OptionsDlg(Database* database, CWnd* pParent = NULL);
    ...
    
    OptionsDlg::OptionsDlg(Database* database, CWnd* pParent)
    	: CDialog(OptionsDlg::IDD, pParent)
    	, host(_T(""))
    	, user(_T(""))
    	, pw(_T(""))
    { 
    	host = database->getHost();
    	user = database->getUser();
    	pw = database->getPw();
    
    }
    

    würde mich über hilfe freuen. Weiß nicht genau was ich da falsch mache.. und was dieses Database** zu bedeuten hat.. wieso zwei *?? Danke



  • Schau nochmal genau hin:

    ...
    Database* database;
        OptionsDlg optionsDlg(&database);
    }
    

    Da drin ist der Fehler.


Anmelden zum Antworten