Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.03.14;
Скачать: CL | DM;

Вниз

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 вся ветка

Текущий архив: 2010.03.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
15-1261729345
12
2009-12-25 11:22
2010.03.14
sql 2000 Теория вопреки практики или нет? (чего не знаю?)


2-1263241082
batya15
2010-01-11 23:18
2010.03.14
Обложка альбома + mp3


1-1240190350
chipper
2009-04-20 05:19
2010.03.14
Справка


2-1263222743
Pavel
2010-01-11 18:12
2010.03.14
Компонент idHTTPServer


15-1261864270
Polkin
2009-12-27 00:51
2010.03.14
Преобразовать ур-ние