Главная страница
    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.079 c
15-1339263264
Дмитрий С
2012-06-09 21:34
2013.03.22
Удаленный доступ к компу с маком.


2-1329825696
TurikUs
2012-02-21 16:01
2013.03.22
Delphi 2010


15-1341413403
Artem
2012-07-04 18:50
2013.03.22
mail.ru у вас открывается?


15-1349641803
Юрий
2012-10-08 00:30
2013.03.22
С днем рождения ! 8 октября 2012 понедельник


2-1329811084
leklerk
2012-02-21 11:58
2013.03.22
Изменение данных в БД через DBGrid





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