Comroader Geschrieben 14. Februar 2002 Teilen Geschrieben 14. Februar 2002 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Cleo Geschrieben 14. Februar 2002 Teilen Geschrieben 14. Februar 2002 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Comroader Geschrieben 14. Februar 2002 Autor Teilen Geschrieben 14. Februar 2002 Eine globale Variable nützt mir recht wenig, da ich auf Sie im anderen Dialog nicht zugreifen kann. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crush Geschrieben 14. Februar 2002 Teilen Geschrieben 14. Februar 2002 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Comroader Geschrieben 15. Februar 2002 Autor Teilen Geschrieben 15. Februar 2002 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 ??? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hoagi Geschrieben 15. Februar 2002 Teilen Geschrieben 15. Februar 2002 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crush Geschrieben 15. Februar 2002 Teilen Geschrieben 15. Februar 2002 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). Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.