aktualisieren von anderem dialogfeld aus !?
-
hi,
in einem programm rufe ich vom hauptdialogfeld aus ein anderes dialogfeld auf. bei einem bestimmten ereignis sollen die werte auf dem neuen dialogfeld von dem hauptdialogfeld aus aktualisiert werden. ich habe das eigentlich mit folgem code vor:
((CNeues_Dialog_Feld*)GetParent())->m_cEingabefeld = cNeuer_Wert;
((CNeues_Dialog_Feld*)GetParent())->UpdateData(FALSE);das geht aber nicht. wenn ich das programm ausführe, kommt ein error direkt nach dem ich den neuen wert in die variable schreibe.
kann mir jemand ne funktion oder nen tip geben wie ich das problem lösen könnte ??
[ Dieser Beitrag wurde am 06.07.2003 um 21:05 Uhr von Red Skall editiert. ]
-
Brauchst du es in der Variable ?
Wenn nein: Schreibe direkt ins Control
Wenn ja: Etwas mehr Code bzw. schicke deinem Dialog eine eigene Message der dann UpdateData aufruft.
-
Wie meinst du das ??:
Brauchst du es in der Variable ?
Deinen zeiten vorschlag hab ich auch ausprbiert; das hat nicht geklappt
ich wollte nur, das ein eingabefeld auf dem neuen dialogfeld mit dem neuen wert aktualisiert wird
-
Wenn du nur die Ausgabe machen musst dann schreibe direkt in das Control und nicht in seine membervariable.
-
danke
hat geklappt !!
-
jetzt hab ich wieder ein problem:
ich muss jetzt vom hauptdialogfeld aus die Close-funktion des neuen dialogfeldes aufrufen. ich kann ja jetzt nicht mehr direkt; ohne funktionsaufruf etwas bewirken !? und wenn ich die funktion OnClose() (vorher public gemacht) vom hauptdialogfeld aus aufrufe, kommt wieder der fehler und das programm stürtzt ab.
hast du auch da nen tip
??
-
Du hast immer noch nicht geschrieben wie und wo du die Dialoge aufrufst.
Sende z.B. dem Dialog eine eigene Message und in der Funktion rufst du dann OnClose auf.
-
ich rufe den dialog aus dem hauptdialogfeld so auf:
m_pNeuerDialog.DoModal(); das mit der funktion hab ich schon ausprobiert. also, ich hab diese beiden sachen versucht: vom hauptdialogfeld habe ich versucht die OnClose -funktion aufzurufen ((CNeuesDialogfeld)GetParent())->OnClose(); und damit habe ich es auch noch mal versucht:
m_pNeuesDialogfeld.OnClose(); das geht auch nicht. dann habe ich vom hauptdialogfeld aus eine funktion im neuen dialogfeld aufgerufen:
((CNeuesDialogfeld)GetParent())->Close_the_prog(); diese funktion sollte dann die OnClose() -funktion benutzten um das dialogfeld zu schließen; das ging auch nicht. da ist das programm jedes mal abgestürtzt.[ Dieser Beitrag wurde am 08.07.2003 um 07:31 Uhr von Red Skall editiert. ]
-
jo, klar.
//Code, Dialog geschlossen m_Dlg.DoModal(); //Dialog anzeigen und erst zurückkehren, wenn er wieder geschlossen ist //Code, Dialog geschlossen, Aufrufe, die eine geöffnete Instanz von m_Dlg erwarten crashen
-
Auserdem kannst du von Hauptdialog keine Funktion aufrufen da du dich in der Dialogklasse des aufrufenden Dialogs befindest. Du kannst doch diesen Dialog schließne. Warum von Hauptdlg aus ?
-
ich hab ne netzwerkanwendung. und wenn ich da ein statusdialogfeld aufgerufen habe und eine bestimmte nachricht ins hauptdialogfeld eingeht, möchte ich den statusdialog schließen und einen anderen dialog vom hauptdialogfeld aus aufrufen.
-
wie kann ich das denn jetzt machen

[ Dieser Beitrag wurde am 10.07.2003 um 07:14 Uhr von Red Skall editiert. ]