![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
CreateFile c OPEN_ALWAYS - Почему каждый раз [D7, Win2k]
OPEN_ALWAYS © (2004-10-13 12:46:00)Всем привет!
В MSDN написано, что вроде не должен
var
sFile : String;
begin
InitializeCriticalSection(FLock);
sFile := format('%s\zx.log',[ExtractFilePath(ParamStr(0))]);
FhFile := CreateFile(PChar(sFile),
GENERIC_READ or GENERIC_WRITE,
FILE_SHARE_READ or FILE_SHARE_WRITE,
nil,
OPEN_ALWAYS,
{FILE_ATTRIBUTE_HIDDEN or} FILE_FLAG_WRITE_THROUGH,
0);
if (FhFile = INVALID_HANDLE_VALUE) then
begin
FLastError := GetLastError();
end else
LogWrite(SM_LOG_START);
OPEN_ALWAYS (2004-10-13 13:11:00) [1]MSDN:
RESOLUTION
Break up the CreateFile call with the OPEN_ALWAYS flag into two separate calls to CreateFile.
Call CreateFile with the OPEN_EXISTING flag. If the call to CreateFile succeeds, the file already existed. If the call to CreateFile fails, you can call CreateFile with the OPEN_ALWAYS flag.
Вот так. Не больше и не меньше. На кой тогда вообще этот флаг нужен.
OPEN_ALWAYS (2004-10-13 12:48:00) [2]Я хотел сказать, каждый раз создается заново