Ich werde noch verrückt....... [UND ES GEHT WEITER :/]



  • newkid 😉



  • PS:

    woher hast du den schmarn eigentlich her?

    if(m_dSchemesList.DoModal() == IDOK)
    {
    m_strFilelist = "123";
    UpdateData(FALSE);
    }

    Das denkt sich nicht mit

    Mein Hauptdialog heißt: CMEDAKODlg
    Der Unterdialog heißt: CSchemesListDlg

    Die, zu transferiende, Variable aus CMEDAKODlg heißt "m_strFilelist".

    denn

    1. was ist m_dSchemesList? Hast du sicher eine membervariable extra dafür angelegt?
    2. du willst den wert von m_strFilelist übergeben, aber du schreibst den stringwert "123" rein wenn der dialog OK zurückgibt. bist du sicher das du das willst?
    3. was haben alle anfänger immer mit dem UpdateData immer? Lies nochmal in deinem "intranet" durch was da zu UpdateData steht. Das brauchst du eher selten ( ausser du arbeitest extrem mit editboxen )



  • isabeau2 schrieb:

    newkid 😉

    huh?



  • Hi Leute,

    danke für alle Tipps.

    Mittlerweile läuft's.....

    [m_dSchemesList ist/war die Member-Variable für meinen "Unter-"Dialog.]

    Nichtsdestotrotz ich sehe nun meine Werte und freue mich.

    Gruss
    kk3003



  • @noob?

    void CSchemesListDlg::SetVariable( CString &_str )
    {
       m_meineUnterdialogVariable = _str;
    }
    

    Ich habe in der Klasse des Unterdialoges eine Memberfunktion in folgender Form angelegt:

    Funktionstyp: void
    Funktionsdeklaration: SetVariable
    Zugriffsstatus: public
    Weder statisch noch virtuell aktiviert

    -> Funktion ist erzeugt worden

    Nun fülle ich Sie mit Leben:

    void CSetWeb::SetVariable(CString &m_sPathExe)
    {
    	m_sTEST = m_sPathExe;
    	MessageBox(m_sTEST);
    }
    

    -> Hauptdialogvariable [m_sPathExe] ist als CString in der Hauptdialogklasse definiert (Member-Variable) und gefüllt. MessageBox funkt. dort.
    -> m_sTEST als CString im Unterdialog (Member..)

    Fehlermeldung:

    Kompilierung läuft...
    SetWeb.cpp
    *\SetWeb.cpp(64) : error C2511: 'SetVariable' : Überladene Member-Funktion 'void (class CString &)' nicht in 'CSetW
    eb' gefunden
    *\setweb.h(13) : Siehe Deklaration von 'CSetWeb'
    Fehler beim Ausführen von cl.exe.
    
    MEDAKO.exe - 1 Fehler, 0 Warnung(en)
    


  • Hi,

    vielleicht hat jemand kurz Zeit und kann mir helfen?! 🙂

    *push*

    Danke im voraus

    Gruss
    kk3003



  • Warum so kompliziert?
    Übergib deine Variable doch einfach über den Konstruktor deines Unterdialogs

    Konstrukor Unterdialog
    class CDlgUnterdialog
    {
    CDlgUnterdialog(CString Maindlgvar);
    CString strMainDlgVar;
    };

    CDlgUnterdialog::CDlgUnterdialog(CString Maindlgvar)
    {
    strMainDlgVar = Unterdlgvar
    }

    Anlegen des Objekts deines Unterdialogs

    dlg = CDlgUnterdialog(Hauptdlg - Var)

    Gruß CP



  • kk3003 schrieb:

    Fehlermeldung:

    Kompilierung läuft...
    SetWeb.cpp
    *\SetWeb.cpp(64) : error C2511: 'SetVariable' : Überladene Member-Funktion 'void (class CString &)' nicht in 'CSetW
    eb' gefunden
    *\setweb.h(13) : Siehe Deklaration von 'CSetWeb'
    Fehler beim Ausführen von cl.exe.
    
    MEDAKO.exe - 1 Fehler, 0 Warnung(en)
    

    hast du denn in der CSetW.h auch sowas stehen?

    class CSetW
    {
    public:
    SetVariable(CString &m_sPathExe);
    private:
    CString m_sTEST;
    };
    

    Die Meldung heist nämlcih soviel wie: "Funktion 'SetVariable(CString irgendwas)' gibt es nicht in dieser Klasse". Das kann bedeuten das du bei der Deklaration in der .h Datei z.B. nur

    class CSetW
    {
    public:
    SetVariable();
    private:
    CString m_sTEST;
    };
    

    stehen hast.



  • Hi,

    schon mal Danke für die Antworten.

    Ich teste die Lösungen mal und melde mich dann wieder...

    Gruss
    k3003



  • Hi,

    ich habe jetzt mal versucht beide Lösungen umzusetzen und bin
    kläglich gescheitert... 😞

    Das kann doch nicht so kompliziert sein, Variablen von Klassen miteinander bekannt zu machen... ?!

    Vielleicht hat jemand ein Online-Tutorial zur Hand oder ein Buchtipp?!

    Ich komme da nicht weiter.... ich schiebe auch gerne mal mein Projekt
    hoch... damit ich weiterkomme.

    Danke im voraus

    Gruss
    kk3003



  • Versuchs mal unter: www.mut.de -> Leseecke.
    Da gibt es zwei freebooks 1.) Visual C++ in 21 Tagen und 2.) C++ in 21 TAgen, vielleicht findest du ja da was:)



  • Hi,

    danke für den Tipp. Das "VC++ in 21 Tagen"-Buch liegt in gedruckter Form
    vor mir. Für den Einstieg war es auch garnicht schlecht.

    Das betreffende Problem finde ich aber leider nicht oder es wird garnicht erwähnt...

    Gruss
    kk3003


Anmelden zum Antworten