CFileDialog
-
Hallo
Ich habe einen CFileDialog mit ALLOWMULTISELECT.
Da man bei dem Dialog normalerweise ja nur eine begrenzte Anzahl von Dateien auswählen kann, hab ich folgenden Code aus den FAQ verwendet.char szFilters[] = "Alle Dateien (*.*)|*.*|JPEG-Dateien (*.jpg)|*.jpg|"; CFileDialog dlg(FALSE, "*", "*.*" , OFN_NOVALIDATE| OFN_HIDEREADONLY | OFN_ALLOWMULTISELECT, szFilters, this); dlg.m_ofn.lpstrTitle = "Dateien uploaden"; const int Feldgroesse = 1000000; // sollte wohl reichen char Feld[Feldgroesse]; dlg.m_ofn.nMaxFile = Feldgroesse; dlg.m_ofn.lpstrFile = Feld; dlg.m_ofn.lpstrFile[0] = 0; if(dlg.DoModal() == IDOK) ...Das Problem dabei ist, dass das Programm jetzt bei einem Rechtsklick im Auswahldialog abstürzt.
Weiß jemand woran das leigt ?Oder wie man auf eine Andere Art und Weise die Maximalbeschränkung der auswählbaren Dateien ändern kann ?
Danke

-
hm sieht so aus, als wenn die Zahl für die Feldgröße zu groß ist, etwas kleiner, dann gehts
-
Hm, ich finde das nich hübsch so viel Speicher auf dem Stack anzulegen.
Ich würde verwende: std::vector oder wennst den nich magst new [] und delete [] für den Speicher.
-
Wäre sicherlich besser. Werds wohl ändern, evt. auch in den FAQ dazuschreiben.