Problem mit Variable aus SDIDoc im Modalen Dialog



  • Hi Leute,

    habe eine SDI Anwendung aus der ich einen MODALEN Dialog Starte.
    Jetzt greife ich mit :

    // Anfang-> Machen damit man aus dem Dialog auf die Klasse Doc und View zugreifen kann
    CFrameWnd* pFrame = (CFrameWnd )(AfxGetApp()->m_pMainWnd);
    CSParamView
    pView = (CSParamView*)(pFrame->GetActiveView());

    CSParamDoc* pDoc;
    pDoc = pView->GetDocument();
    ASSERT_VALID(pDoc);

    // Ende// -> mit pDoc bzw pView auf die Klassen zugreifen

    if (pDoc->m_bSaveLoadFlagDialog == 1)
    {
    //->Mache irgendwas
    }

    auf die Variable m_bSaveLoadFlagDialog in meiner Docansicht zu.
    Aber irgendwie reagiert meine IF abfrage (habe die Variable natürlich in der Docansicht auf 1 gesetzt) nicht! Warum?Kann mir da jemand helfen?

    Ich verzweifle noch!!

    Thx C u



  • Hi,

    vieleicht dient dies zum besseren verständnis:

    Ich setze mit dieser Fkt in meiner SDIDoc die Variable m_bSaveLoadFlagDialog und rufen dann meinen Dialog auf wo ich schon in der OnInitDialog mit der oben beschriebenen Programmablauf diese Variable verarbeiten möchte.

    void CSParamDoc::OnLoadIni()
    {
    m_bSaveLoadFlagDialog = 0;
    OnDummyDialog();
    }

    Irgendwie habe ich mit dem Debugger gesehehn das er die Variable in dem Funktionsaufruf richtig setzt nur wenn ich die OnInitDialog debugge hat er diese Variable nicht übernommen.
    Habe dort dann irgendwas mit -8..... nochwas stehen als wäre die Variable nicht initialisiert dabei setzte ich sie doch in der Fkt OnLoadIni().

    Bitte weiss da jemand was darüber oder sehe ich den Wald vor lauter Bäume nicht mehr.

    Thx


Anmelden zum Antworten