Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
3-1227617892
nstur
2008-11-25 15:58
2009.09.27
Объединение строк


15-1248562850
Художник
2009-07-26 03:00
2009.09.27
Помогите перевести код на паскаль


1-1216619192
dreamse
2008-07-21 09:46
2009.09.27
непонятная работа кода :(


2-1248266549
Kolan
2009-07-22 16:42
2009.09.27
Как поймать клик на перекрытом дочерними родительском контроле?


2-1248318672
Виталий
2009-07-23 07:11
2009.09.27
Разложение числа на разрядные слагаемые





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский