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

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

Не копируется открытый файл DBF [D7, dBase, FoxPro]


kyn66 ©   (2009-01-22 11:59:00) 

Уважаемые мастера, подскажите в чем проблема и как ее решить. На сервере лежат БД программы . Программа открывает базы для работы. В среде TotalCommander я этот файл спокойно могу копировать на другой диск. Внутри своей программы пытаюсь копировать - выдает ошибку, точнее не копирует, а последующее обращение к якобы скопированному файлу вадает ошибку, т.к. файла то нет. Копируб так:

CopyFile(DM1.AdsConnection3.ConnectPath + '\skod.dbf', TempDir + 'skod.dbf', nil);


KSergey   (2009-01-23 11:00:00) [1]

хоть беда и решена.

беда не в потоках (да и сила не в них)
Беда в том с какими опциями открывать исходный файл.
Очевидно надо открывать с минимальными достаточными, т.е. "только чтение" + "шредный доступ" (не эксклюзивно).

По умолчанию файл открывается эксклюзивно, но та прога его уже открыла, но она добрая и открыла шаредно, т.е. нам надо поступить так же.


Anatoly Podgoretsky   (2009-01-23 10:02:00) [2]


> да и вообще при копировании открытых на запись файлов их
> состояние неизвестно, так зачем нужны эти


> Все, решение найдено, копирование через потоки

Аминь


kyn66   (2009-01-22 12:55:00) [3]

Все, решение найдено, копирование через потоки.


Правильный$Вася   (2009-01-22 12:51:00) [4]


> Про возвращаемые параметры я в курсе.

что-то не видно, чтоб ты анализировал результат
да и вообще при копировании открытых на запись файлов их состояние неизвестно, так зачем нужны эти недобитки?


Плохиш   (2009-01-22 12:51:00) [5]

If the function fails, the return value is zero. To get extended error information, call GetLastError.
Там написана причина.
Хотя, судя по

> а последующее обращение к якобы скопированному файлу вадает
> ошибку

утверждение
Про возвращаемые параметры я в курсе.
является ни чем иным, как "слышал звон, а не знаешь, где он"...


kyn66   (2009-01-22 12:22:00) [6]

>2Правильный$Вася
Ну и к чему это? Про возвращаемые параметры я в курсе.


Правильный$Вася   (2009-01-22 12:15:00) [7]

Return Values

If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.


Наверх

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