Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А как он записывается и читается если у вас
file_hand == INVALID_HANDLE
file_hand != INVALID_HANDLE
а неfile_hand == INVALID_HANDLE
Перепробовал все варианты ничего не помогает, флаги
не дали результата, точнее результат есть код работает, он и работал с одним флагом
но ошибка тоже есть, удалил проверку на ошибку открытия, так как это не очень важно в общем то.
Напомню что файл открывается, записывается и читается, но иногда выдаётся ошибка 5004.
Windows 10 (с последними обновлениями)
С каким именем файл создается и в каком месте.
Имя файла без слешей сделайте. Проверку на ошибку лучше оставить.
Флаги не причем здесь.
У меня в коде вообще то а не
Там не если равно, а равно инвалидному хендлу. Понятно же что человек сказать хотел. У вас код уходит на Иначе и выдает строку с ошибкой в журнал. Значит можно сделать, что хендл инвалидный.
Вполне нормальная ситуация. С ключем FILE_SHARE_WRITE не работал. У меня "писатель" раздает сигналы каждую секунду ( обновляет файл ). Есть несколько "читателей" ( "писателем" файл открыт с ключем FILE_SHARE_READ ). На "читателей" наложены ограничения - читаем не чаще, чем один раз в минуту. При таких условиях раз в час, а то и чаще, "читатели" получают ошибку.
Если писатель один, то он обязательно должен быть с ключом общего чтения. А писатели, если их несколько, должны быть и с ключом общего чтения, и с ключом общей записи. Даже если читатель один, он должен быть с ключом общей записи.
Если писатель один, то он обязательно должен быть с ключом общего чтения. А писатели, если их несколько, должны быть и с ключом общего чтения, и с ключом общей записи. Даже если читатель один, он должен быть с ключом общей записи.
Если "писатель " открыл файл с ключом общего чтения, то и "читатель" должен сделать так-же.
Если "писатель" открыл файл с ключом общей записи, то и читатель должен поступить так-же - это неожиданно. (Хотя для меня простительно, я никогда не открывал общую запись)
Если "писатель " открыл файл с ключом общего чтения, то и "читатель" должен сделать так-же.
Если "писатель" открыл файл с ключом общей записи, то и читатель должен поступить так-же - это неожиданно. (Хотя для меня простительно, я никогда не открывал общую запись)
Нет. Ключи общего доступа говорят о том, что открыв файл оставляем возможность другим приложениям этот файл использовать. А вот как использовать читать или писать в него, это дело разработчика программы. Если писатель должен быть один, то в коде писателя давать доступ для записи другим приложениям нецелесообразно. А вот читать в тот момент когда сам что-то туда дописывает обязательно надо. В случае с читателями, если их несколько, обязателен ключ общего чтения для возможности одновременного чтения файла из разных программ. И не следует забывать о том, что если в момент чтения писатель должен дополнить файл новыми данными, то обязательно надо оставить такую возможность.
У меня в коде вообще то а не
о, да вы в танке. тогда список возможных причин расширяется. Сбрасывать ошибку перед операцией открытия пробовали?
о, да вы в танке. тогда список возможных причин расширяется. Сбрасывать ошибку перед операцией открытия пробовали?
Перед GetLastError() сбрасывать ошибку не обязательно. Это вам не предопределённая переменная _LastError
Перед GetLastError() сбрасывать ошибку не обязательно. Это вам не предопределённая переменная _LastError
и кто же и в какой момент сбрасывает значение последней ошибки, чтобы вы не попали на ошибку какого-то предыдущего момента?