Zum Inhalt springen

Werte von einem Dialog in Funktion OnInitDialog in anderem Dialog


Comroader

Empfohlene Beiträge

Verpaß dem Dialog eine öffentliche Funktion, die den Wert der Variablen zurückgibt und leg das Dialogobjekt global an. Bestimmt könnte man noch irgendwie über die Message-Queue die Inhalte an den anderen Dialog weiterreichen. Hab ich aber selber noch nicht gemacht. Besonders elegant wäre eine eigene Message-Klasse und von dieser leitet man dann beide Dialoge ab, welche dann sich gegenseitig Messages direkt verschicken könnten.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

um wirklich eine gue Lösung für dein Problem zu geben, gibst du zuwenig Informationen.

Wofür brauchst du diesen Wert?

Aber es gib mehere Möglichkeiten.

z.B.:

Erstelle eine neue Klasse, abgeleitet von CDialog und füge ein statische Variable in die Klasse ein , die du entweder public machst oder über eine statische public-Funktion von aussen zugängig machst.

Oder du fügst in die Klasse einen Konstruktor ein mit dem du den Wert der Variable setzt.

Du kannst natürlich einfach auch den Wert einer nichtstatitschen Variable setzen nach Aufruf des Konstruktors und vor dem Aufruf DoModal()

z.b:

pDlg = new CMyDialog;

pDlg->SetzeWert( irgendwas );

pDlg->DoModal();

Vielleicht stellst du einfach den Code, der bei dir den Speicherfehler erzeugt hier ins Board.

Link zu diesem Kommentar
Auf anderen Seiten teilen

In der WinAPP den Dialog erzeugen und er ist global im Programm bekannt. Man könnte auch ein Dialog-Array erzeugen und mit Dialogen füllen. So weiß man wieviele Dialoge existieren und alle haben die Möglichkeit sich abzufragen. Oder aber: Mit Findwindow() sollte der eine Dialog von dem anderen einen Window-Handle bekommen, über den er dessen Funktionen abrufen kann-> der Dialogname muß eindeutig sein (z.B. durchnumeriert).

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...