Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo,

ich hab da mal ein Problem.

Ich hab ein Hauptdialog mit diversen Buttons.

Wenn ich nun auf einen dieser Buttons klicke,

öffnet sich ein neuer Dialog.

Wenn ich jetzt in diesem neuen Dialog auf

Speichern geh, sollte der Hauptdialog aktualisiert

werden, damit der neue Eintrag im Hauptfenster

angezeigt wird.

Gibt es da eine Möglichkeit?

Gruß

TripleD

PS: Benutze VC++ 6 / MFC

Ich hab einen Hauptdialog, in diesem habe

ich ein Listenfeld und diverse Buttons.

Zu diesen Buttons gehört z. B. der Button "Löschen".

Wenn ich nun auf diesen Button klicke, sollte der

Eintrag im Listenfeld verschwinden.

Und beim Button "Erfassen", öffnet sich ein neuer Dialog.

In diesem kann ich meine Daten abspeichern.

Nach klick auf sichern, wird der Dialog geschlossen.

Auch hier sollte sich dann das Listenfeld aktualisieren

(der neue Eintrag angezeigt werden).

Hoffe ich konnte dir, und damit mir helfen!?

Gruß

TripleD

PS: Läuft alles über Dateien.

@ Klotzkopp

Der Hauptdialog wird ja nicht geschlossen.

Der sollte immer sichbar sein.

Wenn ich den Hauptdialog schließe

und wieder öffne, passt alles.

Gibt es da keine schönere Variante,

als wenn auch Button geklickt wird,

die Funktion ausgeführt wird,

ich den Hauptdialog schliesse und der

sich dann nochmal öffnet?

Der Hauptdialog wird ja nicht geschlossen.

Ich habe auch nichts vom Schließen des Hauptdialogs geschrieben.

Wenn ich den Hauptdialog schließe

und wieder öffne, passt alles.

D.h. du legst die Daten bereits irgendwo ab? Wo und wann passiert das?

Gibt es da keine schönere Variante,

als wenn auch Button geklickt wird,

die Funktion ausgeführt wird,

ich den Hauptdialog schliesse und der

sich dann nochmal öffnet?

Sicher gibt es die. Und die sieht so aus, wie ich sie eben schon beschrieben habe:

- Unterdialog öffnen

- Benutzer Daten eingeben lassen

- Unterdialog schließen

- Daten aus Unterdialog auslesen und sich selbst aktualisieren.

Ich öffne den Unterdialog, und in diesem geb ich die Daten ein.

Dann klick ich auf erfassen, und es wird eine Datei mit den eingegebenen

Daten erstellt. Danach wird der Dialog geschlossen.

Wie kann ich den Hauptdialog sich selbst aktualisieren lassen?

TripleD

Erstellst du die Datei bereits aus dem Unterdialog? Falls ja, solltest du dafür einen guten Grund haben - nicht nur den, dass die Daten, die in die Datei geschrieben werden sollen, da gerade verfügbar sind.

Du musst ein klares Konzept für den Datenfluss aufstellen. Die Interaktion mit den Datendateien sollte nur an einer Stelle passieren, ansonsten sollten die Daten im Speicher weitergereicht werden. Keinesfalls sollte jeder Dialog sein eigenes Süppchen kochen und dann allen anderen über die Änderungen Bescheid geben. Das wird zunehmend komplizierter, je mehr datenverarbeitende Stellen du hast.

Einer muss für die Synchnonisation der Daten zwischen Datei und Speicher verantwortlich sein, und die Anderen haben die Finger davon zu lassen.

Konkret: Ich würde den Unterdialog keine Datei erstellen lassen. Er soll nur die Daten für den Hauptdialog vorhalten. Der kümmert sich um das Speichern der Daten und kann sich dabei auch gleich selbst aktualisieren.

Wenn ich es jetzt richtig verstanden habe, soll ich alle funktionen, die etwas mit dem erstellen der dateien bzw löschen der Dateien zu tun haben im Hauptdialog ablaufenlassen.

Die Daten aus dem Unterdialog soll ich also in Globale Variablen schreiben und

an die Funktion z.B. zum Speichern schicken?

Mit welcher Funktion / Befehl aktualisier ich den Hauptdialog dann?

Wenn ich es jetzt richtig verstanden habe, soll ich alle funktionen, die etwas mit dem erstellen der dateien bzw löschen der Dateien zu tun haben im Hauptdialog ablaufenlassen.
Das klingt schon ganz gut :)

Die Daten aus dem Unterdialog soll ich also in Globale Variablen schreiben und an die Funktion z.B. zum Speichern schicken?
Nein, keine globale Variablen. Der Hauptdialog kann doch nach dem Schließen des Unterdialogs noch auf die Member der Unterdialog-Klasse zugreifen und die Daten auslesen.

Mit welcher Funktion / Befehl aktualisier ich den Hauptdialog dann?
Da gibt es keine fertige Funktion, das musst du selbst machen. Du kannst natürlich die Funktion aufrufen, die du auch beim Start des Hauptdialogs für die Initialisierung benutzt.

Ich würd keine globalen Variablen nehmen. Entweder, du nimmst globale Klassen mit statischen Attributen oder du definierst die Attribute in der Unterdialogklasse. Nach dem Schließen desselben kannst du diese Daten dann aus der Klasse auslesen. Den Befehl mußt du dir im Prinzip selbst schreiben. Wenn du im UD einen neuen Eintrag definiert hast, dann kannst du an der Stelle, nachdem der UD aufgerufen wurde und die Kontrolle sozusagen übergeben wurde, die Daten aus dem UD-Objekt auslesen, in deinen Datenbestand aufnehmen und in die Listbox adden.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.