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

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.033 c
3-16172
Александр Бакулин
2004-01-13 17:22
2004.02.06
Построение текстовых отчетов


14-16727
Nick-From
2004-01-16 01:43
2004.02.06
Генератор обьяснительных записок


1-16286
Chuha
2004-01-25 19:41
2004.02.06
В чем ошибка?


1-16251
Maxim2030
2004-01-26 15:29
2004.02.06
как преобразовать .tlb -> .pas через командную строку


11-16206
BaRToV
2003-05-21 01:45
2004.02.06
TaskBar





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