Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.06.10;
Скачать: [xml.tar.bz2];

Вниз

Использование 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 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.06.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.006 c
1-30844
Виталик
2002-05-29 11:12
2002.06.10
Кнопка по умолчанию


1-30738
Zamiran
2002-05-28 10:38
2002.06.10
Как реализовать вложенный таймер ???


1-30751
esVer
2002-05-28 15:31
2002.06.10
Русский язык в нерусской Windows


14-30966
Doom
2002-05-05 09:06
2002.06.10
Христос Воскрес


3-30726
ват
2002-05-18 16:26
2002.06.10
импорт таблицы EXCEL





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский