hallo leute



  • Kann mir vielleicht jemand verraten warum der folgende code bei mehr als 17 Datein als Auswahl nicht funktioniert!?!? (MSDN half nicht)

    CFileDialog d(TRUE, NULL, NULL, OFN_ALLOWMULTISELECT, NULL, this);   
    d.DoModal(); //Dialog zeigen 
    POSITION p = d.GetStartPosition(); //Startposition bestimmen 
    while (p != NULL){ //solange noch andere Filenames da sind 
        MessageBox(d.GetNextPathName(p)); //Name ausgeben 
    }
    

    vielen dank.
    gruss



  • hi,

    woran das genau lag weiß ich nicht mehr, aber du solltest es mal so probieren...

    TCHAR newString[20480]; 
      newString[0] = 0;
    	CDlgSelectFiles oDlgSelFiles(
                                   true,                                                      // true für FileOpen
                                   "*.?pp",                                                   // DefExtension
                                   NULL,                                                      // FileName
                                   OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT,                  // Flags
                                   "Alle Dateien (*.*)|*.*|Quellcodedateien (*.?pp)|*.?pp||", // Filter
                                   NULL);                                                     // pParent
      oDlgSelFiles.m_ofn.lpstrFile = newString;
      oDlgSelFiles.m_ofn.nMaxFile = 20480; 
      int iRet = oDlgSelFiles.DoModal();
    


  • bin nicht der mfc-experte aber mein compiler mag CDlgSelectFiles ueberhaupt nicht.

    andere vorschlaege?

    danke.



  • *plonk* 🙄 😉

    Versuch es mal mit "CFileDialog", okay? 😉



  • vielleicht noch folgendes: warum funktioniert das ganze jetzt und hat vorher nicht funktioniert ???

    danke.



  • Die Dlg für Fileauswahl haben einen begrenzten Puffer für die ausgewählten Dateinamen. Bedenke, dass dort immer der komplette Pfad für jede Datei drin steht. Je tiefer die Dateihierarchie und je länger die Foldernamen, je weniger Dateien kann man auswählen.

    Der Puffer wurde mit
    oDlgSelFiles.m_ofn.nMaxFile = 20480;
    vergrößert und so kann man jetzt auch mehr Dateien öffnen.


Anmelden zum Antworten