Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.03.2008, 13:40   #1
posdnyaa
Пользователь
 
Регистрация: 18.12.2007
Сообщений: 15
По умолчанию Сохранение файла на IdFtpDerver

Здравствуйте
Я работаю с компонентом от Indy IdFTPServer. При обработке события StoreFile для сохранения файла используется такой код (взятый из примера):
Код:
procedure TForm1.IdFTPServer1StoreFile(ASender: TIdFTPServerContext;
  const AFileName: string; AAppend: Boolean; var VStream: TStream);
begin
  if not Aappend then
   VStream := TFileStream.Create(ReplaceChars(AppDir+AFileName),fmCreate)
  else
   VStream := TFileStream.Create(ReplaceChars(AppDir+AFileName),fmOpenWrite);
end;
Проблема вот в чем. Работать с новым файлом невозможно пока процесс его создания и заполнения не закончится. Это естественно. А как узнать что файл готов к каким либо действиям с ним, т.е. как узнать что его создание завершено?
Спасибо

Последний раз редактировалось posdnyaa; 25.03.2008 в 13:44.
posdnyaa вне форума Ответить с цитированием
Старый 25.03.2008, 19:56   #2
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Можно попытаться открыть его в конструкции try...except - если ошибка случилась, значит файл "занят". Лучше всего такую проверку сделать в отдельной подпрограмме, чтобы, в случае возникновения ошибки, не прервать основной код.
Jeni вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сохранение php файла CopTupoBo4Huk PHP 5 10.09.2008 22:55
Сохранение файла Македонский Общие вопросы Delphi 7 17.08.2007 08:35
СОХРАНЕНИЕ В 23 ФАЙЛА ПОДРЯД!!!! _FL@ER_ Помощь студентам 6 26.06.2007 22:31