Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Определить путь до файла, имея его 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]

Дело в том, что у открытого дескриптора может уже не существовать файла в фаловой системе.


Наверх

Титульная страница Поиск, карта сайта Написать письмо