Форум: "Начинающим";
Текущий архив: 2008.01.20;
Скачать: [xml.tar.bz2];
ВнизНаверное, не так ищу (о HFILE) Найти похожие ветки
← →
ProgRAMmer Dimonych © (2007-12-18 16:07) [0]Можно ли определить только по значению переменной типа HFILE, на какой файл она указывает: открытый или закрытый (неоткрытый)?
В MSDN заблудился, и близко не подкопавшись к истине, в справке по WinAPI ничего конкретного, похоже, нет.
← →
clickmaker © (2007-12-18 16:09) [1]попытаться открыть эксклюзивно?
← →
DiamondShark © (2007-12-18 16:18) [2]А откуда ты это значение берёшь?
← →
ProgRAMmer Dimonych © (2007-12-18 16:19) [3]> clickmaker © (18.12.07 16:09) [1]
> попытаться открыть эксклюзивно?
Всё, понял, я опять криво сформулировал вопрос :( А ведь даже не знаю, как кратко объяснить :)
Короче говоря, есть переменнаяF:HFILE
. Она объявлена как поле в секцииprivate
в описании класса и используется как минимум в половине методов этого класса. И никогда нельзя гарантировать (мало ли чего бывает :)), что она, указывая на открытый программой файл, не попадётся ещё раз в функцию CreateFile(). Так вот: как определить, был ли файл уже открыт программой (о совместном доступе приложений речь не идёт)?
← →
Юрий Зотов © (2007-12-18 16:24) [4]1. Открытие и закрытие файла производить ТОЛЬКО в этом же классе.
2. При закрытии поле F обнулять.
3. Если поле F не равно нулю, то файл уже открыт.
← →
ProgRAMmer Dimonych © (2007-12-18 16:30) [5]> Юрий Зотов © (18.12.07 16:24) [4]
> 1. Открытие и закрытие файла производить ТОЛЬКО в этом же
> классе.
> 2. При закрытии поле F обнулять.
> 3. Если поле F не равно нулю, то файл уже открыт.
Пункт 1 был понятен сразу: я для этого работу с этим айлом в отдельный скласс и вынес. Вру, ещё не вынес, выношу :)
Пункты 2 и 3. Т.е. вероятность, что F будет равным 0 после открытия файла, равна нулю? Имею в виду: проблем при таком подходе возникать не будет?
← →
clickmaker © (2007-12-18 16:35) [6]
> Т.е. вероятность, что F будет равным 0 после открытия файла,
> равна нулю?
да. При ошибке она будет INVALID_HANDLE_VALUE
← →
DiamondShark © (2007-12-18 16:38) [7]Лучше использовать INVALID_HANDLE_VALUE в качестве индикатора открытости/закрытости.
0 -- это может быть валидный хэндл.
← →
ProgRAMmer Dimonych © (2007-12-18 17:10) [8]Всем спасибо.
← →
Плохиш © (2007-12-18 17:13) [9]
> ProgRAMmer Dimonych © (18.12.07 16:19) [3]
> Она объявлена как поле в секции private в описании класса
Ну и что ты к ней привязался, не твоя это переменная, не твоя...
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.01.20;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.051 c