Название: Почему не работает фильтр QDir (QT 4.6.2, Windows XP) Отправлено: spectre71 от Апрель 30, 2010, 11:08 fileview.exe - Deny на Read & Execute
Попытка его запустить соответственно выдает ошибку, здесь все хорошо. Однако следующий код работает некорректно: Код
На выходе получаем путь Viewer - на fileview.exe. Почему не трабатывают флаги QDir::Readable|QDir::Files|QDir::Executable Название: Re: Почему не работает фильтр QDir (QT 4.6.2, Windows XP) Отправлено: spectre71 от Апрель 30, 2010, 11:22 Все, вспомнил! Для винды надо так:
Код
Название: Re: Почему не работает фильтр QDir (QT 4.6.2, Windows XP) Отправлено: ритт от Май 03, 2010, 20:26 именно!
Название: Re: Почему не работает фильтр QDir (QT 4.6.2, Windows XP) Отправлено: blood_shadow от Август 27, 2010, 17:44 Для винды надо так: Добрый день, у меня похожая проблема не работает фильтр Код: QDir obj("D:/123"); если написать Код: foreach(QString str, obj.entryList(QDir::Files)) может у вас есть решение, если оно представлено в вашем втором посте, объясните пожалуйста что делают эти дериктивы препроцессора ОС Windows 7 Название: Re: Почему не работает фильтр QDir (QT 4.6.2, Windows XP) Отправлено: merke от Август 27, 2010, 18:27 Note that Qt does not by default check for permissions on NTFS file systems, as this may decrease the performance of file handling considerably. It is possible to force permission checking on NTFS by including the following code in your source:
Код: [b] Permission checking is then turned on and off by incrementing and decrementing qt_ntfs_permission_lookup by 1. Код: [b] qt_ntfs_permission_lookup++; // turn checking on The Permissions type is a typedef for QFlags<Permission>. It stores an OR combination of Permission values. Название: Re: Почему не работает фильтр QDir (QT 4.6.2, Windows XP) Отправлено: blood_shadow от Август 27, 2010, 18:54 Note that Qt does not by default check for permissions on NTFS file systems, as this may decrease the performance of file handling considerably. It is possible to force permission checking on NTFS by including the following code in your source: Код: [b] Permission checking is then turned on and off by incrementing and decrementing qt_ntfs_permission_lookup by 1. Код: [b] qt_ntfs_permission_lookup++; // turn checking on The Permissions type is a typedef for QFlags<Permission>. It stores an OR combination of Permission values. Я так понимаю эти строки Код: #ifdef Q_OS_WIN дают права на доступ к директории? Название: Re: Почему не работает фильтр QDir (QT 4.6.2, Windows XP) Отправлено: merke от Август 27, 2010, 18:55 Быстрее идет обработка
Название: Re: Почему не работает фильтр QDir (QT 4.6.2, Windows XP) Отправлено: blood_shadow от Август 27, 2010, 19:00 Быстрее идет обработка извиняюсь за назойливый вопрос(немного проблемы с инглишем), из-за чего проходит сборка это как-то связано с правами доступа к диску?Название: Re: Почему не работает фильтр QDir (QT 4.6.2, Windows XP) Отправлено: merke от Август 27, 2010, 19:03 вот тебе перевод:
Обратите внимание, что Qt по умолчанию не может проверить разрешений на NTFS файловыми системами, так как это может снизить производительность обработки файлов значительно. Можно заставить разрешение на проверку NTFS, включив следующий код в ваш источник: Код: внешних Q_CORE_EXPORT qt_ntfs_permission_lookup Int Разрешение проверки затем включать и выключать, увеличивая и уменьшение qt_ntfs_permission_lookup на 1. Код: qt_ntfs_permission_lookup + +; / / включить проверку qt_ntfs_permission_lookup - / / выключить ее снова Разрешения типа ЬурейеЕ для QFlags <Permission>. Она хранит или сочетание Разрешение значений. Название: Re: Почему не работает фильтр QDir (QT 4.6.2, Windows XP) Отправлено: blood_shadow от Август 27, 2010, 19:17 вот тебе перевод: Обратите внимание, что Qt по умолчанию не может проверить разрешений на NTFS файловыми системами, так как это может снизить производительность обработки файлов значительно. Можно заставить разрешение на проверку NTFS, включив следующий код в ваш источник: Код: внешних Q_CORE_EXPORT qt_ntfs_permission_lookup Int Разрешение проверки затем включать и выключать, увеличивая и уменьшение qt_ntfs_permission_lookup на 1. Код: qt_ntfs_permission_lookup + +; / / включить проверку qt_ntfs_permission_lookup - / / выключить ее снова Разрешения типа ЬурейеЕ для QFlags <Permission>. Она хранит или сочетание Разрешение значений. Хорошо каким образом влияют права на доступ к файлам и директориям на производительность обработки файлов? и почему тогда включив проверку прав, можно ускорить выполнение, или это означает что если директория не доступна для просмотра то она будет проигнорирована а в случае отсутствия проверки программа будет пытаться долгое время к ней достучатся? |