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

Вниз

Записать в файл сразу, аналог flush pascal   Найти похожие ветки 

 
AV ©   (2012-02-15 10:55) [0]

есть вероятность падения приложения
есть задача свести потерю лога к минимуму
имею
FFSLogAction := TFileStream.Create(

 FFSLogAction.Position := FFSLogAction.Size;
 FFSLogAction.WriteBuffer(sAction[1], Length(sAction));
 FlushFileBuffers(FFSLogAction.Handle);

правильно?


 
Ega23 ©   (2012-02-15 11:20) [1]


>  FFSLogAction.WriteBuffer(sAction[1], Length(sAction));

FFSLogAction.WriteBuffer(sAction[1], Length(sAction)* SizeOf(Char));
Если я правильно понял.


 
AV ©   (2012-02-15 11:24) [2]


> FlushFileBuffers

не совсем, мне именно сброс буферов нужен.
т.е. попросить ОС записать сразу,
обычно, все что хочет средний человек, уже реализовано
т.е. ожидая найти FFSLogAction. Flush был расстроен :)

отсюда,
применим ли вариант
FlushFileBuffers(FFSLogAction.Handle);


 
CRLF   (2012-02-15 12:01) [3]

А может стоит CreateFile с FILE_FLAG_WRITE_THROUGH, а затем TFileStream.Create(Handle)?


 
AV ©   (2012-02-16 11:21) [4]

Ладно. В принципе это работает.

тогда еще вопрос
как писать в файл так, что бы все могли читать, но не могли писать?
если fmCreate  - то ему кажется все равно, что я еще понаписал, он не дает и читать тоже.

Если изголиться так
 if not(FileExists(s)) then
   FfsLog := TFileStream.Create(s, fmCreate or fmShareDenyWrite);
 FfsLog.Free;
 FfsLog := TFileStream.Create(s, fmOpenWrite or fmShareDenyWrite);
то нормально,
но плохо смотрится :)
Как бы хорошо сделать?


 
Anatoly Podgoretsky ©   (2012-02-16 11:27) [5]

> AV  (16.02.2012 11:21:04)  [4]

Убери права на запись в файл



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

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

Наверх




Память: 0.45 MB
Время: 0.057 c
15-1333917002
Юрий
2012-04-09 00:30
2013.03.22
С днем рождения ! 9 апреля 2012 понедельник


8-1230998221
Б
2009-01-03 18:57
2013.03.22
Где можно скачать эту книгу???


2-1346616136
ankazh
2012-09-03 00:02
2013.03.22
Сводная таблица


8-1228318270
exkalement
2008-12-03 18:31
2013.03.22
Визуализация?


2-1337757483
serge
2012-05-23 11:18
2013.03.22
нужна помощь с событием onkeydown





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