Форум: "KOL";
Текущий архив: 2010.03.14;
Скачать: [xml.tar.bz2];
ВнизOpenSaveDialog выполняется через раз Найти похожие ветки
← →
<> (2008-06-22 14:05) [0]Я использую один и тот же OpenSaveDialog для записи и открытия файлов. Если при открытии выбрать два и более файлов (включена опция OSallowMultiSelect), то при следующем нажатии кнопки, вызывающей этот же самый диалог открытия, он не вызывается, и кнопку надо нажимать ещё раз. Если выбирать по одному файлу, то всё ОК.
Вот исходный код:
procedure TForm1.KOLForm1FormCreate(Sender: PObj);
begin
OpenSaveDialog1.Filter := "Text files *.txt|*.txt|All files *.*|*.*";
OpenSaveDialog1.OpenDialog := false;
end;
procedure TForm1.Button_Add_Files_Click(Sender: PObj);
begin
OpenSaveDialog1.OpenDialog := true;
OpenSaveDialog1.Filter := "Torrent files *.torrent|*.torrent|All files *.*|*.*";
OpenSaveDialog1.Options := [OSFileMustExist,OSHideReadonly,OSOverwritePrompt,OSPathMustExist,OSallowMultiSe lect];
IF OpenSaveDialog1.Execute THEN
BEGIN
// При втором нажатии кнопки после выбора 2 и более файлов здесь код не выполняется
// When the button is pressed twice after MultiSelect, it doesn"t work
END;
OpenSaveDialog1.Options := [OSFileMustExist,OSHideReadonly,OSOverwritePrompt,OSPathMustExist];
OpenSaveDialog1.Filter := "Text files *.txt|*.txt|All files *.*|*.*";
OpenSaveDialog1.OpenDialog := false;
end;
В чём может быть проблема?
← →
Jon © (2008-06-22 16:23) [1]From KOL.PAS:
> For case when OSAllowMultiselect option used, after each
> call initial value for a Filename containing several files prevents
> system from opening the dialog. To fix this, assign another initial
> value to Filename property in your code, when you use multiselect.begin
OpenSaveDialog1.OpenDialog := true;
OpenSaveDialog1.Filter := "Torrent files *.torrent|*.torrent|All files *.*|*.*";
OpenSaveDialog1.Options := [OSFileMustExist,OSHideReadonly,OSOverwritePrompt,OSPathMustExist,OSallowMultiSe lect];
OpenSaveDialog1.Filename := "";
IF OpenSaveDialog1.Execute THEN
BEGIN
// The above line fixes the multi select problem
END;
OpenSaveDialog1.Options := [OSFileMustExist,OSHideReadonly,OSOverwritePrompt,OSPathMustExist];
OpenSaveDialog1.Filter := "Text files *.txt|*.txt|All files *.*|*.*";
OpenSaveDialog1.OpenDialog := false;
end;
← →
<> (2008-06-22 16:41) [2]Спасибо!
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2010.03.14;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.005 c