Interaktionen zwischen mehreren Formen



  • Servus!
    Ich habe ein sehr doofes Problem und ich hoffe ihr könnt mir helfen!
    Ich hab eine Hauptform "GUI" die als MDI-Parent dient, sowie eine Form namens "Results", die nach den Berechnungen die Ergebnisse anzeigt. Soweit funktioniert das alles auch ganz gut.

    Nun zum Problem:
    Damit meine "GUI" die Klasse "Results" kennt, habe ich vor der Deklaration von "GUI" die Resultsklasse included. Nun möchte ich, die GUI als Objekt an die die Result-Klasse übergeben, um von dieser Klasse Menüpunkte / Funktionen in der Hauptform zu ändern (Zum Beispiel den SaveButton zu aktivieren). Wenn ich den Eintrag in den Konstruktor hinzufüge und dann kompiliere kommt allerdings der Fehler, das er zu diesem Zeitpunkt die "GUI" nicht kennt. Ist auch irgendwo logisch, da ja die Resultklasse vor der "GUI" included wird. Allerdings, wenn ich zu erst die "GUI" include, kennt die "GUI", die Klasse "Results" wieder nicht. Ein Teufelskreislauf -.-

    Naja, ich hab vorher das Problem so gelöst, dass ich die Funktionen zum ändern der Menüpunkte und deren Elemente als "static" deklariert habe und die Funktion aus der .CPP aufgerufen habe. Allerdings hat das den echt blöden Nachteil, wenn ich irgentwas im Designer ändere, löscht VS2008 sämtliche static Einträge bei den Elemente und ich muss alles wieder manuell in den Header reinschreiben. Und das nervt gewaltig bei um die 30 Menüelemente 😞

    Also wie löst ihr die Interaktionen zwischen mehreren Formen?
    Bin für jeden Lösungsvorschlag zu haben!

    Vielen dank 😉



  • Stichwort: Vorwärtsreferenz (forward reference)
    Siehe dazu auch mal im C++ Subforum nach...

    Und die vom Designer generierten Element solltest du wirklich nicht ändern -)



  • Danke!
    Die Lösung ist manchmal echt zu einfach 😃


Anmelden zum Antworten