![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Определить путь до файла, имея его Handle
DevilDevil © (2007-12-18 23:58:00)возможен ли сабж?
slow!alfamoon!com (2007-12-20 21:33:00) [1];Определить путь до файла, имея его Handle
;DevilDevil (18.12.07 23:58)
;возможен ли сабж?
Если хэндл валиден на момент проверки (т.е. объект не закрыт и это именно тот объект, который нужен) - да.
Ins (2007-12-19 01:05:00) [2]
> ну иногда есть только Stream...
> почему бы из него не узнать имя используемого файла (в случае
> FileStream) ?
На мой взгляд, лучшими вариантами будут:
1. Написать потомка TFileStream, в котором в конструкторе запоминать имя файла в каком-либо поле класса, и сделать свойство, которое позволяет его извлечь.
2. При создании экземпляра заносить в TStringList с помощью AddObject имя файла и ссылку на экземпляр TFileStream. Когда имя файла понадобится - по ссылке на экземпляр найти в списке имя соотв. файла.
guav (2007-12-19 01:00:00) [3]> [6] homm © (19.12.07 00:45)
Интересная фича. Наблюдаю на другом плеере то же.
homm (2007-12-19 00:45:00) [4]> [3] guav © (19.12.07 00:13)
> Это как ?
Открой в BSPlayer любую киношку (за другие плеры не ручаюсь) а потом удали ее во время воспроизведения. Файл исчезнет, а с видео ничего не случится, даже перематывать можно. Я так сериалы смотрю, запускаю серию, удаляю файл сразу же :)
DevilDevil (2007-12-19 00:33:00) [5]спасибо.
ну иногда есть только Stream...
почему бы из него не узнать имя используемого файла (в случае FileStream) ?
а начиная скакой версии Windows, такая чтука прокатит?
Ins (2007-12-19 00:21:00) [6]Возможно то - возможно - http://www.delphimaster.ru/cgi-bin/forum.pl?n=5&id=1188989858&p=2, но неужели вы не знаете какой файл вы открыли? Не проще ли при открытии запоминать вместе с хэндлом имя?
guav (2007-12-19 00:13:00) [7]> [1] homm © (19.12.07 00:05)
> Дело в том, что у открытого дескриптора может уже не существовать
> файла в фаловой системе.
Это как ?
(ну кроме насильного размонтирования тома, например извлечением флешки).
> [0] DevilDevil (18.12.07 23:58)
может, посмотреть GetFileInformationByHandleEx ?
homm (2007-12-19 00:06:00) [8]Хотя не утверждаю все же, что узнать нельзя :)
homm (2007-12-19 00:05:00) [9]Дело в том, что у открытого дескриптора может уже не существовать файла в фаловой системе.