![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
копирование *.bpl [D7, XP]
CpToHome © (2006-12-19 18:12:00)есть программа, написаная в delphi, которая копирует (точнее заменяет)*.bpl из одной директории в другую (алгоритм копирования уже реализован), но существует проблема: если заменяемая *.bpl в данный момент используеться каким-либо приложением (работающим), то замены не происходит и не выдаеться никакого сообщения об ошибке.
Можно ли каким-то образом отследить используеться ли в данный момент *.bpl (желательно какой-то дельфевый способ, а не с помощью ф-ций ОС) ?
clickmaker (2006-12-20 14:07:00) [1]
> [9] tesseract © (20.12.06 13:25)
Error_sharing_violation
Andrushk (2006-12-20 13:32:00) [2]А может заодно и неделфевые способы рассмотрим?
Думаю автор не обидится, может и ему сгодится? :-)
tesseract (2006-12-20 13:25:00) [3]
> А если bpl-ка занята и я ее пытаюсь удалить, наверное будет
> задержка секунд 10-20 между попыткой удалить и ошибкой,
> что этого сделать нельзя? Т.е. если bpl-к много, то программа
> может на долго подвиснуть.
CreateFile-ом попытайся открыть эксклюзивно. Если файл кем-то занят получшеш error_access_denied
clickmaker (2006-12-20 13:13:00) [4]
> желательно какой-то дельфевый способ, а не с помощью ф-ций
> ОС
дельфевых способов работы с файлами в обход функций ОС нету
Andrushk (2006-12-20 12:57:00) [5]> tesseract ©
> Попробуй файл удалить, тогда получишь своё сообщение.
А если bpl-ка занята и я ее пытаюсь удалить, наверное будет задержка секунд 10-20 между попыткой удалить и ошибкой, что этого сделать нельзя? Т.е. если bpl-к много, то программа может на долго подвиснуть.
Reindeer Moss Eater (2006-12-20 10:19:00) [6]function CopyFile(lpExistingFileName, lpNewFileName: PChar; bFailIfExists: BOOL): BOOL ;
CpToHome (2006-12-20 09:53:00) [7]мда, спасибо всем огромное, "помогли"
tesseract (2006-12-19 20:32:00) [8]
> есть программа, написаная в delphi, которая копирует (точнее
> заменяет)*.bpl из одной директории в другую (алгоритм копирования
> уже реализован), но существует проблема: если заменяемая
> *.bpl в данный момент используеться каким-либо приложением
> (работающим), то замены не происходит и не выдаеться никакого
> сообщения об ошибке.
Попробуй файл удалить, тогда получишь своё сообщение.
Loginov Dmitry (2006-12-19 19:59:00) [9]> алгоритм копирования уже реализован
Конечно реализован. CopyFile().
Anatoly Podgoretsky (2006-12-19 19:55:00) [10]> CpToHome (19.12.2006 18:12:00) [0]
> алгоритм копирования уже реализован
Ты льстишь себе и с логикой не в ладах.
Jeer (2006-12-19 18:50:00) [11]
> алгоритм копирования уже реализован
Это так радует.