J
Jeefo
в приложении мне потребовался диалог сохранения файла. воспользовался компонентом SaveDialog. компонент создаю динамически с помощью следующего кода
если прогонять прогу в дельфи, и при выборе пути сохранения нажать отмену то сгенерируется исключение типа "система не может найти путь "" ". я жму ок и Run чтобы продолжить работу проги. и тут она зависает намертво на 30-60 секунд, причем виснет не только прога но и дельфи. потом отвисает и продолжает работу. если же убрать из кода строку "Filter := 'Все файлы|*.*|Текстовые файлы (*.txt)..." то зависания не произойдет. в скомпиленном exe, запущенном из системы зависание тоже не происходит, то есть только в дельфи. что бы это могло быть? да, и добавлю, что аналогичная ситуация происходит при открытии файла с использованием компонента OpenDialog
Код:
procedure TfmWTED.SaveFileAs(Sender: TObject);
var
dSave: TSaveDialog;
begin
dSave := TSaveDialog.Create(self);
with dSave do
begin
Title := 'Сохранить текстовый файл как...';
Filter := 'Все файлы|*.*|Текстовые файлы (*.txt)|*.txt|Файлы веб-разметки HTML (*.html, *.htm)|*.htm; *.html|Файлы PHP (*.php, *.php4, *.php5)|*.php; *.php4; *.php5|Файлы таблиц стилей CSS (*.css)|*.css';
end;
dSave.Execute;
try
arrMemo[tcMain.TabIndex].Lines.SaveToFile(dSave.FileName);
except
end;
dSave.Free;
end;
если прогонять прогу в дельфи, и при выборе пути сохранения нажать отмену то сгенерируется исключение типа "система не может найти путь "" ". я жму ок и Run чтобы продолжить работу проги. и тут она зависает намертво на 30-60 секунд, причем виснет не только прога но и дельфи. потом отвисает и продолжает работу. если же убрать из кода строку "Filter := 'Все файлы|*.*|Текстовые файлы (*.txt)..." то зависания не произойдет. в скомпиленном exe, запущенном из системы зависание тоже не происходит, то есть только в дельфи. что бы это могло быть? да, и добавлю, что аналогичная ситуация происходит при открытии файла с использованием компонента OpenDialog