Formular öffnen



  • Hallo,
    ich möchte ein Formular bei einem klick auf einem Button öffnen. Funktioniert auch ganz einfach mit Form2->Show();
    In diesem Formular sollen jetzt Werte eingegeben werden die auch im ersten Formular vorhanden sind. Wie funktioniert das?
    Zudem bekomme ich eine Linker-Warnung, weil ich die beiden Header der Formulare jeweils im beiden CPP-Dateien einbinden muss. Wie umgeht man das?

    danke

    Diehler



  • Du arbeitest nicht zufällig mit globalen Variablen oder? Das erklärt dann nämlich die Linkerwarnung. Die lässt sich umgehen, allerdings würde ich dir auch von globalen Variablen abraten, denn das ist eigentlich auch recht schlechter design. Wieso modifizierst du nicht einfach direkt die Member von Form1 aus Form2 heraus? (Stichwort Properties/Eigenschaften, FAQ)?

    -junix



  • mmmmmhhhh... ja... ähmmmm ich hab in den FAQs nichts passendes gefunden.

    Ich arbeite mit Globalen Variablen. Ich möchte eine Art Terminplaner erstellen. Beim druck auf "Neuen Termin" soll sich ein neues Formular öffnen indem Zeit, Beschreibung usw. eigegeben werden können. Diese Angaben muss ich ja irgendwo speichern (Variable etc.)
    Gibt es eine andere möglichkeit außer mit globalen Variablen???



  • Original erstellt von Diehler:
    Gibt es eine andere möglichkeit außer mit globalen Variablen???

    Ja, gibt es. Und diese Möglichkeiten sind designtechnisch auch viel besser. Eine Möglichkeit ist es, die Daten einem bestimmten Formular (z.B. dem Form1) zuzuordnen und sie von diesem verwalten zu lassen. (Jedes andere formular muss die Daten dort holen und auch wieder ablegen wenn sie geändert wurden)

    Das Liesse sich bequem über das Einfügen weiterer Properties/eigenschaften in die Formularklasse erledigen.

    Eine andere Variante ist die, eine "Dokument"-Klasse zu erstellen. Eine Klasse die nichts anderes macht, als Daten zu verwalten. An die Dokumentklasse meldest du dann quasi jedes Formular, das Daten anzeigt und über Ändernung an den Daten informiert werden möchte an. Wann immer die Daten geändert werden, kannst du dann durch die Liste der angemeldeten Formulare gehen und jeweils eine "Update"-Methode aufrufen oder eine Nachricht seinden. (stichwort Document-View-Prinzip)

    Für deinen Fall würde ich vielleicht zunächst einfach nur die erste Variante verwenden. (Mit dem Verweis auf die FAQ meinte ich übrigens WebFritzis Artikel wie man eigenschaften mit dem Schlüsselwort __properties erstellt und den Artikel zum Thema Public-Variablen. Such mal im FAQ-Index danach.)

    -junix



  • Deine Antworten sind klasse. *LOB* Aber ich finde in den FAQs immer noch nichts. In welchen soll ich denn danach suchen...???



  • Moin!

    Jaja der junix is schon ein schlaues Köpfchen 🙂

    hier is das was er gemeint hat. mit ein bischen suchen wärst du evtl auch dahin gekommen 😉

    Public Variablen sind böse? aber wieso?
    Variablenübergabe an andere Form



  • PuppetMaster: Eigentlich beschränken wir uns mit dem Verlinken der FAQ auf einen Link auf die Übersicht aller FAQ-Einträge, damit der nicht so regelmässige FAQ-Benutzer sich mal jede Überschrift anschauen muss. Die Erfahrung zeigt, dass man sich häufig bei einem Problem daran erinnert "schonmal was gelesen zu haben". (o;

    -junix

    [ Dieser Beitrag wurde am 02.06.2003 um 10:16 Uhr von junix editiert. ]



  • *lol*

    Hab doch glatt den Lerneffekt vagessn *g*



  • danke !!!


Anmelden zum Antworten