Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

копирование *.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]


> алгоритм копирования уже реализован


Это так радует.


Наверх

Титульная страница Поиск, карта сайта Написать письмо