![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Непрерывная запись в файл
unknowing © (2008-02-11 18:52:00)Всем привет! У меня следующаяя проблема: с СОМ-порта непрерывно приходят данные, которые я записываю в файл. В случае остановки записи программой (CloseFile) или выхода из программы все нормально. Интересует ситуация когда пропадает питание и комп выключается: файл не записывается на диск... Как защищаться от такой ситуации?
ketmar (2008-02-13 18:36:00) [1]>[65] unknowing (2008-02-13 18:33:00)
ну, тогда сиди на бочке с динамитом. %-)
---
Understanding is not required. Only obedience.
unknowing (2008-02-13 18:33:00) [2]
> ketmar © (13.02.08 18:27) [64]
WinMe быстрее всяко на том ноуте. Есть умельцы по обрезанию ХР, но по стравнию с ВинМе медленнее
ketmar (2008-02-13 18:27:00) [3]>[63] unknowing (2008-02-13 18:24:00)
а напильничком потом? сервисы лишние поотрывать, морду попилять?
---
Understanding is not required. Only obedience.
unknowing (2008-02-13 18:24:00) [4]
> ketmar © (13.02.08 18:19) [62]
Встанет, но туго очень!
ketmar (2008-02-13 18:19:00) [5]>[61] unknowing (2008-02-13 18:02:00)
да ну. я почти уверен, что хорошо обработаный напильником Win2k на вашу технику встанет и заработает вполне нормлально. если уж не совсем доисторическое 486.
---
Understanding is not required. Only obedience.
unknowing (2008-02-13 18:02:00) [6]
> ketmar © (13.02.08 17:57) [60]
В моем случае можно интерпретировать так: "тем,кто бедно живет - не превыкать к геморрою"
ketmar (2008-02-13 17:57:00) [7]>[59] unknowing (2008-02-13 17:54:00)
тем, кто живёт на FAT — не привыкать к геморрою.
---
Understanding is not required. Only obedience.
unknowing (2008-02-13 17:54:00) [8]Вот результаты работы:
1. Периодичный FlushFileBuffers():
- под NTFS & WinXP - порядик, потери данных не возникает;
- под FAT32 & WinME - фиаско, все пропало, потеря данных.
2. Непрерывный CloseFile():
- под NTFS & WinXP - порядик, потери данных не возникает;
- под FAT32 & WinME - порядик, потери данных не возникает.
MBo (2008-02-12 13:55:00) [9]Пиши кусочки в небольшие файлы, потом вместе соберешь
Джо (2008-02-12 13:31:00) [10]> [56] guav © (12.02.08 12:56)
> > [53] Джо © (12.02.08 12:00)
>
> У меня оба прекрасно сосуществуют. Старого на всякий случай
> ещё одну копию прожёг :)
> Кстати, его пока ещё можно скачать http://www.microsoft.com/downloads/det
> ails.aspx?familyid=B8704100-0127-4D88-9B5D-896B9B388313&displaylang=en
Спасибо, обязательно восстановлю удаленный, потому как это не дело...
guav (2008-02-12 12:56:00) [11]> [53] Джо © (12.02.08 12:00)
У меня оба прекрасно сосуществуют. Старого на всякий случай ещё одну копию прожёг :)
Кстати, его пока ещё можно скачать http://www.microsoft.com/downloads/details.aspx?familyid=B8704100-0127-4D88-9B5D-896B9B388313&displaylang=en
Slym (2008-02-12 12:46:00) [12]не проще бесперебойник купить?
clickmaker (2008-02-12 12:07:00) [13]
> [53] Джо © (12.02.08 12:00)
не все МСДНы одинаково полезны )
Джо (2008-02-12 12:00:00) [14]> [51] guav © (12.02.08 11:34)
> Судя по MSDN, CreateMutex тоже нет в 98 и NT http://msdn2.microsoft.com/e
> n-us/library/ms682411.aspx
> Последний MSDN в котором не забили на 95/98/NT был April
> 2007
Offtop. Блин, как-раз неделю назад его снес и поставил от VS 2008 :(
guav (2008-02-12 11:36:00) [15]Я бы таки предпочёл задать размер файла заранее, затем использовать FILE_FLAG_NO_BUFFERING и FILE_FLAG_WRITE_THROUGH.
В этом случае после возврата WriteFile данные будут записаны. Время модификации не гарантируется, но оно не так важно
guav (2008-02-12 11:34:00) [16]Судя по MSDN, CreateMutex тоже нет в 98 и NT http://msdn2.microsoft.com/en-us/library/ms682411.aspx
Последний MSDN в котором не забили на 95/98/NT был April 2007
clickmaker (2008-02-12 11:23:00) [17]
> Теперь просьба к clickmaker'у указать свои источники цитирования
секция экспорта в kernel32.dll )
Anatoly Podgoretsky (2008-02-11 21:14:00) [18]> unknowing (11.02.2008 20:54:46) [46]
CloseFile это гарантия.
Я сейчас не могу найти информацию, на поведение при аварийном завершение, но отно отличается в зависимости от ОС и ФС
Anatoly Podgoretsky (2008-02-11 21:13:00) [19]> Джо (11.02.2008 20:52:45) [45]
В MS SDK - Win 95, Win32s
unknowing (2008-02-11 21:02:00) [20]http://vsokovikov.narod.ru/New_MSDN_API/Menage_files/fn_flushfilebuffers.htm