1. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

Зависание дельфи

Тема в разделе "Delphi - программирование", создана пользователем Jeefo, 27 ноя 2007.

Статус темы:
Закрыта.
  1. Jeefo

    Jeefo Гость

    Репутация:
    0
    в приложении мне потребовался диалог сохранения файла. воспользовался компонентом SaveDialog. компонент создаю динамически с помощью следующего кода
    Код:
    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
     
  2. Jeefo

    Jeefo Гость

    Репутация:
    0
    так все заработало без зависаний, спасибо. но что же тогда я неправильно делал? кстати если в строчке Filter... убрать расширения *.php4; *.php5; *.html (то есть оставить везде по одному расширению) то мой код тоже нормально работает. может я использовал не тот символ (";") для разделения расширений (просто делал методом тыка)?
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей