Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.10;
Скачать: CL | DM;

Вниз

Использование CreateFile для открытия файла   Найти похожие ветки 

 
Andrey-k ©   (2002-04-06 12:30) [0]

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

xF:=CreateFile(pchar(fDbFileName), // pointer to name of the file
GENERIC_ALL, // access (read-write) mode
FILE_SHARE_WRITE OR FILE_SHARE_READ, // share mode
nil, // pointer to security attributes
OPEN_EXISTING, // how to create
FILE_ATTRIBUTE_NORMAL, // file attributes
GENERIC_READ{GENERIC_WRITE AND GENERIC_READ});


 
SPeller ©   (2002-04-06 15:45) [1]

Помоему, лучше взять OpenFile.


var os:ofstruct;
begin
...
os.cbytes:=sizeof(os);
OpenFile(pchar(fDbFileName),@os,OF_READWRITE or SHARE_DENY_NONE);


Ошибка твоя в том, что
SHARE_DENY_READ - Запрещает чтение другими программами
SHARE_DENY_WRITE - Запрещает запись.


 
Andrey-k ©   (2002-04-06 21:05) [2]

Понимаешь, в helpe сказано, что OpenFile используют только для совместимости с 16-bit versions of Windows по этому не хотелось бы, но все равно спасибо. Я гляну параметры.


 
SPeller ©   (2002-04-07 03:05) [3]

Не знаю, я ей постоянно пользуюсь и всё отлично работает.


 
Andrey-k ©   (2002-04-07 03:29) [4]

но я разобрался с CreatFile
GENERIC_ALL надо заменить на GENERIC_WRITE or GENERIC_READ

и так наверно будет быстрее



Страницы: 1 вся ветка

Текущий архив: 2002.06.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.008 c
1-30861
John Kayfolom
2002-05-25 17:48
2002.06.10
TShellListView


1-30810
Fly`
2002-05-31 13:22
2002.06.10
TreeView. Редактирование Текста TTreeNode.


14-30970
BigBadMutuh
2002-05-05 10:54
2002.06.10
Что делать с глюками в WinXP ?


3-30682
maxim2
2002-05-17 15:42
2002.06.10
Есть ли обратная функция Chr()


1-30763
Hawk_Skywalker
2002-05-30 15:02
2002.06.10
Мигающая панель, при передаче фокуса на Edit