Probleme mir zwei DialogFelder

can

Mitglied
Hallo Leute

ich habe ein Haupt-Dialogfeld und ein Neben-Dialogfeld

wenn ich aus dem Haupt.Dialogfeld aus den neben-Dialogfeld zeichne

CMaxMidiProtoDlg::DlgSplitAn()
{
CDlgSplit Split;
Split.DoModal();
}

Klappt Gut!

Aber wenn ich das Neben-Dialogfeld schlißen möchte!

CMaxMidiProtoDlg::DlgSplitAus()
{

CDlgSplit Split;
Split.EndDialog(IDOK);

}


wird mein programm mit eine fehler meldung geschloßen.

Debug Assertion Failed
File:dlgcore.cpp
line:572


kann mir da jemand helfen bitte!
ich bekomme es nicht hin

Dankeee...!

Grüße Can
 
Du solltest den modalen Dialog nicht von aussen schliessen. Schick ihm höchsten eine Windowsmessage.

Eigentlich bedeutet modal übrigens, dass alle anderen Fenster "schlafen". Man kann dass zwar umgehen, programmiert damit aber eigentlich gegen den Sinn der Sache an. Vielleicht solltest du überlegen, ob du eventuell besser einen nichtmodalen Dialog verwendest. Wäre möglich, aber ich kenne dein Programm und die Zielsetzung nicht.

---
PS: Abgesehen davon fällt mir gerade auf, dass du hier eine lokales Dialogobjekt schliessen willst, das überhaupt noch nicht geöffnet wurde.
Code:
 CMaxMidiProtoDlg::DlgSplitAus()
{
CDlgSplit Split; // <-- ist lokal und wird erst bei Eintritt in die Funktion erzeugt
Split.EndDialog(IDOK);
}

Also, ignorier für's Erste mal mein Gerede da oben. :)
 
Zuletzt bearbeitet:
Zurück