Zum Inhalt springen

Werte von einem Dialog in Funktion OnInitDialog in anderem Dialog


Empfohlene Beiträge

Geschrieben

Hallo,

Kennt von euch jemand eine Möglichkeit auf den Wert einer Variable in der Funktion OnInitDialog in einem anderem Dialog zuzugreifen ???

Bitte um schnelle Hilfe !!!!

PS: Verwende die MFC.

Thanks for your help.

Geschrieben

mach ne globale variable wenn du den wert vorher schon kennst.

andere möglichkeit fällt mir auch nicht ein.

na doch vielleicht die variable als puplic deklarieren.

Geschrieben

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.

Geschrieben

Wenn ich eine öffentliche Funktion in der Klasse anlege und diese in der OnInitDialog aufrufe bekomme ich einen Speicherfehler.

Was meinst du eigentlich damit das Dialogobjekt global anzulegen ???

Geschrieben

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.

Geschrieben

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).

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...