übergabe von werten über 2 dialoge



  • guten morgen liebe gemeinde,
    ich habe ein kleines problem. ich habe 2 dialoge, in meinem hauptdialog habe ich variablen die ich irgednwie an meinem 2ten dialog(der bereits included ist) übergeben. aber wie stelle ich sowas an ? denke wird nicht all zu schwer sein. nur habe ich keine ahnung wie oder wonach ich suchen soll..

    vielen dank



  • Variablen im Dialog anlegen, mit set-Methoden die Werte übergeben ...



  • Hallo,
    @Pallaeon, was spricht gegen globale Variablen die dann zwischen den 2 Dialogs ausgetauscht werden, ich meine, der dialog1 -> inGlobalVar <- mit dialog2 auslesen.
    Und umgekährt, also das hier ist eine Frage, keine Behauptung, ich wills ja auch für mich haben!

    🙂

    lg
    pixel



  • also ich komme mit beidem nicht zurecht. variablen habe ich in beiden dialogen deklariert. jedoch finde ich zuviel wenn ich nach "Set Methode" google. es ist nichts sinnvolles dabei. kannst du mir nochmal einen tipp geben ??

    oder@ pixel wie hast du es gelöst ?

    danke



  • hi,
    na eigentlich so wie ich es gerade gemeint habe, ich weis aber nicht ob das die beste art ist,
    da ich aber mehrere variablen habe die von mehreren dialogen benutzt werden,
    hab ich diese global definiert, und jedes mal wenn dialog1 dort eienen wert reinschreibt, kann dialog2 diesen auch benutzen, und umgekehrt,
    und meine dialoge die ich gerade gemeint habe sind nicht modal, es sind 18 insgesammt?!

    lg



  • So muss es ungefähr aussehen:

    Variable wird im Dialog public deklariert:

    testDlg.h

    (...)
    public:
    	CString strTest;
    (...)
    

    Wenn du die Variable beim Aufrufen setzen willst, sollte das so gehen:

    CtestDlg dlgTest;
    dlgTest.strTest = "Wert";
    dlgBackup.DoModal();
    

    Kann man denke ich auch an ner anderen stelle machen, also ohne das doModal. Hab ich aber net ausprobiert...



  • irgednwie funzt das nicht. ich kann nichtmal etwas public deklarieren ohne das es einen fehler gibt. macht man das fuer gewöhnlich nicht auch nur in klassen so ??
    es ist so das ich beim starten des dialoges textdateien auslese, der inhalt soll an den anderen dialog übergeben und dort angezeigt werden.

    @ pixel wie hast du die variablen gloabl deklariert ?? habe schon ein paar bsp ausprobiert. wie hast du es gemacht ?

    danke



  • Was kommen denn für Fehler,mike?

    Pegasus' Weg mit public-Variablen ist der für faule Leute^^
    Bei kleineren Sachen durchaus ok, aber normalerweise schreibt man set-Methoden.



  • Pellaeon schrieb:

    Was kommen denn für Fehler,mike?

    Pegasus' Weg mit public-Variablen ist der für faule Leute^^
    Bei kleineren Sachen durchaus ok, aber normalerweise schreibt man set-Methoden.

    Hehe, ja Informatiker sind nun mal faul...
    Den Code hab ich aus einem Programm übernommen, in dem ich nur eine Variable ändern musste. Und da war mir ne Set-Methode zu viel Code-Zeilen... 😃

    Aber weil du's bist:

    testDlg.h

    private:
    	CString var1, var2;
    	int var3;
    

    testDlg.cpp

    void CtestDlg::SetVariables(CString t1, CString t2, int t3)
    { 
    	//Hier werden die übergebenen Variablen gespeichert
    	var1 = t1;
    	var2 = t2;
    	var3 = t3;
    }
    
    CtestDlg dlgTest;
    dlgTest.SetVariables("Wert1", "Wert2", 42);
    dlgTest.DoModal();
    


  • habe das prob leider immernoch nicht lösen können 😞

    void CtestDlg::SetVariables(CString t1, CString t2, int t3
    

    also wie kann ich die ""SETVariables"" anlegen ? über den klassenassistent. aber dann verlassen mich leider meine fähigkeiten 😞


Anmelden zum Antworten