Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TOpenPictureDialog [D4, D6, Win2k]


Dima ©   (2004-06-23 13:07:00) 

у меня в папке 7000 файлов, открываю TOpenPictureDialog, вибираю все, однако TOpenPictureDialog.Files.Count = 3009, почему


Sandman25   (2004-06-23 14:38:00) [1]

Вроде там. Похоже, что это ограничение GetOpenFileName из comdlg32.dll


Dima   (2004-06-23 13:56:00) [2]

Ну то что где-то ограничение эт понятно, покопался в предках TOpenDialog, метод DoExcecute, заполняться структура TOpenFilename (tagOFNA) там есть поле nMaxFile, вот где в него заноситься значение

 if ofAllowMultiSelect in FOptions then
   nMaxFile := MultiSelectBufferSize else
   nMaxFile := MAX_PATH;
 SetLength(TempFilename, nMaxFile + 2);

эта самая MultiSelectBufferSize = High(Word) - 16;
решил увеличить ее в 5 раз, MultiSelectBufferSize = (High(Word) - 16) * 5
сделал свой модуль, на основе Dialogs.pas, новый компонент, смотрю Files.Count = 3009
Может копаю не там?


Sandman25   (2004-06-23 13:54:00) [3]

Наверное, ограничение компонента или Windows.
Может, Вам лучше каталог выбирать?


Наверх

Титульная страница Поиск, карта сайта Написать письмо