Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > OPENFILENAME: не срабатывает


Автор: Alca 21.9.2008, 21:07
OPENFILENAME: не срабатывает. 
В диалоге выбираю сразу 250 файлов - GetOpenFileName(&ofn) возвращает не TRUE
Код

char szFilePath [MAX_PATH];    memset(szFilePath, 0, sizeof(szFilePath));
char szFileTitle[MAX_PATH];    memset(szFileTitle, 0, sizeof(szFileTitle));

OPENFILENAME ofn;    memset(&ofn, 0, sizeof(OPENFILENAME));

ofn.lStructSize       = sizeof(OPENFILENAME);
ofn.hwndOwner         = g_hDlgMain; 
ofn.hInstance         = g_hInstance; 
ofn.lpstrFilter       = ""; 
ofn.lpstrCustomFilter = NULL; 
ofn.nMaxCustFilter    = 0; 
ofn.nFilterIndex      = 1; 
ofn.lpstrFile         = szFilePath;        
ofn.nMaxFile          = sizeof(szFilePath);
ofn.lpstrFileTitle    = szFileTitle; 
ofn.nMaxFileTitle     = sizeof(szFileTitle);    
ofn.lpstrInitialDir   = NULL; 
ofn.lpstrTitle        = ""; 
ofn.Flags             = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST | OFN_READONLY | OFN_ALLOWMULTISELECT | OFN_EXPLORER; 
//ofn.nFileOffset       = 0; 
//ofn.nFileExtension    = 0; 
ofn.lpstrDefExt       = "dic"; 
ofn.lCustData         = (LPARAM)0; 
ofn.lpfnHook          = (LPOFNHOOKPROC)NULL;
ofn.lpTemplateName    = NULL; 

if (GetOpenFileName(&ofn) == TRUE) {
    //
} else {
    //FALSE
}


P.S. Notepad ++ 5.0.3 тоже не открывает такое кол-во файлов.
С чем это может быть связано?

Автор: Alca 22.9.2008, 12:09
Увеличил буфер для хранения выбранных путей к файлам:
Код

char szFilePath [10000];    
memset(szFilePath,  0, sizeof(szFilePath));

 smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)