Форум: "Прочее";
Текущий архив: 2009.09.27;
Скачать: [xml.tar.bz2];
ВнизБлокировки файла Найти похожие ветки
← →
Дмитрий С © (2009-07-27 15:14) [0]Есть файл, который используется двумя приложениями. Одно непосредственно на компьютере, другое через сеть. Может быть запущено только одно из приложений.
Вопрос: есть способ организовать безопасную запись в этот файл одному из приложений?
Заблокировать к примеру, считал то что нужно или записал, разблокировал.
Если файл уже заблокирован другим приложением - ждет.
← →
Anatoly Podgoretsky © (2009-07-27 15:32) [1]> Дмитрий С (27.07.2009 15:14:00) [0]
Способ есть.
← →
Inovet © (2009-07-27 15:50) [2]Если одновременно только одно приложение может иметь доступ, то и открывать с соответсвующим флагом.
← →
TIF © (2009-07-27 15:54) [3]OpenFile, OF_SHARE_EXCLUSIVE?
Тут есть пример применения:
http://www.delphimaster.ru/articles/saveparam/index.html
← →
TIF © (2009-07-27 16:12) [4]Можно и FileOpen воспользоваться...
FileOpen
Открывает существующий FileName файл в режиме Mode. Значение, возвращаемое в случае успеха, — дескриптор открытого файла. В противном случае — код ошибки DOS.
Допустимы следующие режимы открытия файлов:
РежимыОткрыть только для чтения:
fmOpenRead $0000
Открыть только для записи:
fmOpenWrite $0001
Открыть для чтения и записи:
fmOpenReadWrite $0002
Обеспечить совместимость со старой моделью доступа к файлам:
fmShareCompat $0000
Запретить другим доступ к файлу:
fmShareExclusive $0010
Запретить другим запись в файл:
fmShareDenyWrite $0020.
Запретить другим чтение файла:
fmShareDenyRead $0030
Разрешить другим все виды доступа:
fmShareDenyNone $0040
← →
Дмитрий С © (2009-07-27 17:16) [5]А ведь верно, файл же можно не держать постоянно открытым, эта мысль пришла мне уже после поста на фррум.
Кстати, а как аксессовые базы решают задачу совместного смешанного доступа к файлу базы?
Пс спасибо всем кто ответил:)
← →
Игорь Шевченко © (2009-07-27 17:46) [6]
> Кстати, а как аксессовые базы решают задачу совместного
> смешанного доступа к файлу базы?
блокировки ставят, очевидно. И не только аксессовые, а практически любые файловые (безсерверные)
← →
Inovet © (2009-07-27 17:54) [7]> [5] Дмитрий С © (27.07.09 17:16)
> А ведь верно, файл же можно не держать постоянно открытым,
> эта мысль пришла мне уже после поста на фррум.
Тогда выходит допустимо два приложения запускать.
> Кстати, а как аксессовые базы решают задачу совместного
> смешанного доступа к файлу базы?
Все режимы перечислены выше. Плюс LockFile(), UnlockFile() позволяют получить отменить эксклюзивный доступ к участку.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2009.09.27;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c