Ошибки, баги, вопросы - страница 3522

 

FileSelectDialog () не позволяет выбирать несколько папок, или я делаю что-то не так?

void OnStart ()
{
  string filenames [];

  Print (FileSelectDialog ("Выбор папок агентов",
                           NULL,
                           NULL,
                           FSD_SELECT_FOLDER | FSD_ALLOW_MULTISELECT | FSD_FILE_MUST_EXIST | FSD_COMMON_FOLDER,
                           filenames,
                           NULL));
  ArrayPrint (filenames);
}

Код выше вызывает такое окно:

Несолько папок невозможно выбрать, ни с зажатым Ctrl, ни с Shift ни по Ctrl+A, можно выбрать только одну папку. А требуется выбор сразу нескольких папок.

Вывод в принт ожидаемый:

1
"Test CNT mod 1.09\Agent-127.0.0.1-3003"

 
Andrey Dik #:

FileSelectDialog () не позволяет выбирать несколько папок

Ни разу не видел в этом стандартном окне Windows выбор нескольких папок.

Но было бы полезно.

 
Andrey Dik #:

FileSelectDialog () не позволяет выбирать несколько папок, или я делаю что-то не так?

Откуда такие ожидания? Согласно справке: "Создает диалог открытия/создания файла или папки." - т.е. всё в единственном числе.

 
Aleksey Vyazmikin #:

Откуда такие ожидания? Согласно справке: "Создает диалог открытия/создания файла или папки." - т.е. всё в единственном числе.

Обратите внимание на флаги.

К тому же, что именно в справке говорит, что несколько файлов выбирать можно, а несколько файлов папок нельзя?

 
fxsaber #:

Ни разу не видел в этом стандартном окне Windows выбор нескольких папок.

Но было бы полезно.

вот, окно проводника, несколько папок выбираются без проблем:

 
Andrey Dik #:
вот, окно проводника, несколько папок выбираются без проблем:

Это все же другой тип окна, если правильно понимаю.

 
fxsaber #:

Это все же другой тип окна, если правильно понимаю.

Поему другой? Обычное окно для работы с файлами и папками. Отличие лишь в том, что в окне вызванном mql5 есть, по-видимому, флаги ограничения на область видимости папок, выше по дереву пойти окно не позволит, только в песочнице.

В общем, похоже это недоработка, прошу разработчиков исправить поведение окна выбора файлов/папок.

 
Andrey Dik #:

Обратите внимание на флаги.

К тому же, что именно в справке говорит, что несколько файлов выбирать можно, а несколько файлов папок нельзя?

Давайте рассмотрим флаги

FileSelectDialog

flags

[in] Комбинация флагов, определяющая режим диалогового окна. Флаги определены следующим образом:
FSD_WRITE_FILE – диалог открытия файла;
FSD_SELECT_FOLDER – разрешает выбирать только папки;
FSD_ALLOW_MULTISELECT – разрешает выбирать несколько файлов;
FSD_FILE_MUST_EXIST – выбранные файлы должны существовать;
FSD_COMMON_FOLDER – файл расположен в общей папке всех клиентских терминалов \Terminal\Common\Files.

Тут ничего нет про несколько папок. Очевидно же, что папки не файлы.

Думаю, что это не ошибка. Просить добавить возможность выбора несколько папок можно конечно.

 
Aleksey Vyazmikin #:

Думаю, что это не ошибка. Просить добавить возможность выбора несколько папок можно конечно.

Вы можете думать что угодно и даже говорить об этом вслух, но моя просьба обращена к разработчикам, а не к Вам.

Если можете решить проблему с выбором нескольких папок - помогите, если не можете - не мешайте, пожалуйста. Что за манера вставлять палки в колёса, совершенно непонятно.

 
Andrey Dik #:

Вы можете думать что угодно и даже говорить об этом вслух, но моя просьба обращена к разработчикам, а не к Вам.

Если можете решить проблему с выбором нескольких папок - помогите, если не можете - не мешайте, пожалуйста. Что за манера вставлять палки в колёса, совершенно непонятно.

Чего то Вы путаете - Вы начали с того, что ожидаете выбор папок, и я Вам написал, что это не предусмотрено разработчиками.

Поэтому давайте ка вменяемость включайте и не агрессируйте на тех, кто Вам помогает разобраться в заблуждениях.