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

Вниз

TFileStream   Найти похожие ветки 

 
Akni ©   (2004-01-26 14:02) [0]

Добрый день всем.

Создаю файл с пом. след. кода:
var fFileName: String;
fLogFile: TFileStream;
...
fLogFile:=TFileStream.Create(fFileName,fmCreate or fmShareDenyNone) //новый файл

или
fLogFile:=TFileStream.Create(fFileName,fmOpenReadWrite or fmShareDenyNone); //сущест. файл
Записываю в него след. образом:
var TempStr: string;
...
fLogFile.Write(TempStr[1],length(TempStr));

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

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

При попытке создания файла с опцией fmShareDenyWrite - такая же история.

Как создать файл с пом. TFileStream, чтобы он был доступен другим приложениям хотя бы для чтения?


 
YuRock ©   (2004-01-26 14:13) [1]

Если я не ошибаюсь,

fmShareDenyNone означает, что другие приложения (другие коннекшкны к файлу) не могут ни читать, ни писать в файл (запрет на все);
fmShareDenyWrite - запрет на запись;
fmShareDenyRead - запрет на чтение;

Попробуйте этот параметр "забить нулем".


 
Hooch ©   (2004-01-26 14:19) [2]

почему or ? тип доступа это 3 параметр в конструкторе, help погляди


 
Anatoly Podgoretsky ©   (2004-01-26 14:22) [3]

У тебя все правильно, но другие тоже должны открывать в этом режиме.


 
icWasya ©   (2004-01-26 14:23) [4]

>YuRock © (26.01.04 14:13) [1]
>Если я не ошибаюсь,
ошибаешься, fmShareDenyNone означает как раз, что другие приложения могут читать и писать, но только те, которые открывают файл тоже в режиме fmShareDenyNone. Editor открывает файл в монопольном режиме, по этому и происходит ошибка


 
YuRock ©   (2004-01-26 14:27) [5]

Да, извините, я солгал.


 
Akni ©   (2004-01-26 14:32) [6]

ну тогда совсем глупый вопрос: как из другого приложения (Editor, Word) указать режим доступа (если это вообще возможно)?


 
panov ©   (2004-01-26 14:41) [7]

>Akni © (26.01.04 14:32) [6]

ну тогда совсем глупый вопрос: как из другого приложения (Editor, Word) указать режим доступа (если это вообще возможно)?

В чужом приложении - невозможно.


 
Akni ©   (2004-01-26 18:21) [8]

открываю файл в одном приложении так, как описано в первом посте; открываю из другого своего приложения этот же файл в таком режиме:
fLogFile:=TFileStream.Create(fFileName,fmOpenRead or fmShareDenyNone);
все равно говорит, что не может открыть, т.к. файл занят другим приложением.
комбинация режимов открытия fmShareDenyWrite и fmShareDenyRead (в одном приложении производится только запись, в другом - только чтение) тоже результатов не дает.

Что я опять делаю не так?



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

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

Наверх




Память: 0.48 MB
Время: 0.025 c
3-16140
sohat
2004-01-13 12:11
2004.02.06
Можно ли получить список полей запроса не выполняя оный?


8-16518
Дмитрий
2003-10-04 00:48
2004.02.06
Проигрывание файлов формата Ogg Vorbis (*.ogg)


3-16135
VID
2004-01-14 01:45
2004.02.06
Как выбрать подходящую маску ?


1-16352
Некто
2004-01-24 15:38
2004.02.06
Редактор свойств.


1-16440
Globoor
2004-01-28 11:15
2004.02.06
сливание документов в один файл