-
возможен ли сабж?
-
Дело в том, что у открытого дескриптора может уже не существовать файла в фаловой системе.
-
Хотя не утверждаю все же, что узнать нельзя :)
-
> [1] homm © (19.12.07 00:05)
> Дело в том, что у открытого дескриптора может уже не существовать > файла в фаловой системе.
Это как ? (ну кроме насильного размонтирования тома, например извлечением флешки).
> [0] DevilDevil (18.12.07 23:58)
может, посмотреть GetFileInformationByHandleEx ?
-
-
спасибо.
ну иногда есть только Stream... почему бы из него не узнать имя используемого файла (в случае FileStream) ?
а начиная скакой версии Windows, такая чтука прокатит?
-
> [3] guav © (19.12.07 00:13) > Это как ?
Открой в BSPlayer любую киношку (за другие плеры не ручаюсь) а потом удали ее во время воспроизведения. Файл исчезнет, а с видео ничего не случится, даже перематывать можно. Я так сериалы смотрю, запускаю серию, удаляю файл сразу же :)
-
> [6] homm © (19.12.07 00:45)
Интересная фича. Наблюдаю на другом плеере то же.
-
> ну иногда есть только Stream... > почему бы из него не узнать имя используемого файла (в случае > FileStream) ?
На мой взгляд, лучшими вариантами будут: 1. Написать потомка TFileStream, в котором в конструкторе запоминать имя файла в каком-либо поле класса, и сделать свойство, которое позволяет его извлечь. 2. При создании экземпляра заносить в TStringList с помощью AddObject имя файла и ссылку на экземпляр TFileStream. Когда имя файла понадобится - по ссылке на экземпляр найти в списке имя соотв. файла.
-
;Определить путь до файла, имея его Handle ;DevilDevil (18.12.07 23:58) ;возможен ли сабж?
Если хэндл валиден на момент проверки (т.е. объект не закрыт и это именно тот объект, который нужен) - да.
|