domodal in domodal ?



  • hallo,
    VS 2008 nutze ich.
    von meinem Hauptprogramm gehe über einen Knopf...

    if(m_opop.DoModal()== IDOK)
    	{}
    

    ... ich meine Options Dialog.

    In meinem Optionßs Dialog befindet sich ein Knopf folgendem Inhalt:

    CFileDialog ldFile(TRUE);
    	if (ldFile.DoModal() == IDOK)
    
    	ldFile.GetFileName();
    	UpdateData(FALSE);
    

    warum stützt mein Prog ab?



  • Debuger mal Benutzen und schaun wo dein Programm stirbt. Auf dem Callstack schaun, wo er gerade in deinem Programm ist, vielleicht die ausgabe mal hier pisten oder mehr zusammenhänge, aber in einem modalen Dialog kannst du immer wieder modale Dialoge aufrufen



  • Ich tippe auf das DoModal von CFileDialog evt. auch

    ldFile.GetFileName();
    

    Das liegt dann aber an dem konkreten Dlg. Sieh dir mal CFileDialog näher an, welche Parameter außer TRUE noch gesetzt werden sollten (Dateityp, Eigenschaften wie OFN_ALLOWMULTISELECT). Bei ALLOWMULTISELECT muss z.B. fileDlg.GetOFN().nMaxFile gesezt werden. Was machst Du mit dem GetFileName() ohne Zuweisung?



  • Wenn du avira/AntiVir benutzt, dann liegts daran.

    Hatte das gleiche Problem.

    http://www.avira.com/de/support-for-free-faq-detail/faqid/805



  • @all
    thx

    Am AntiVir lag es nicht, aber ich hatte so ein Problem mit dem Antivir.
    Ich habe ein neue Projekt erstetllt und konnte es nicht compilieren, bis ich den AntiVir ausgeschalten habe, aber das war vor ca. 3 Wochen.

    Mein neuer Knopf vom Datei öffenen:

    CFileDialog ldFile(TRUE);
    	if (ldFile.DoModal() == IDOK)
    	{}
    

    gleicher Absturz.



  • Und in welcher Zeile stürzt es nun ab?

    Mein neuer Knopf vom Datei öffenen:

    Was hat sich zum obigen Beispiel geändert?



  • thx
    Das habe ich weggelassen:

    ldFile.GetFileName();
        UpdateData(FALSE);
    

    hätte ja sein können, dass es daran liegt.
    Jetzt habe sogar von meinem Hauprogramm einen Knopf hinzugefügt, der nur das ausführt...

    CFileDialog ldFile(TRUE);
        if (ldFile.DoModal() == IDOK)
    

    ... gleicher Abstutzt.



  • Aha.

    -> WO <- stürzt er ab?

    Poste mal den Call-Stack.
    Aus dem Debugger.
    Das wo man sieht in welcher Funktion er gerade steht, und welche Funktion die aktuelle Funktion aufgerufen hat, und welche die davor aufgerufen hat uswusf.


Anmelden zum Antworten