View previous topic :: View next topic |
Author |
Message |
beketata
Joined: 26 Feb 2005 Posts: 8
|
(Separately) Posted: Sun Feb 27, 2005 01:55 Post subject: Не вызывается ProcessFile() для директорий при копировании |
|
|
TC 6.51, WIN XP
Packer Plugin WCX
При открытии архива, когда TC вызывает ReadHeader(), устанавливаю, в числе прочего, HeaderData->FileTime для каждого файла и каталога из архива.
После этого TC выводит содержимое архива и ту дату и время для файлов и каталогов, которую я установил в HeaderData->FileTime.
Но если в открытом архиве отметить целый каталог и попытаться его скопировать в любое место в соседнем окне, TC создает все каталоги самомтоятельно, не вызывая при этом ни одну функцию из плагина. Только когда ему нужен файл, тогда естественно, весь цикл вызовов повторяется с установленным флагом PK_EXTRACT в ProcessFile() для копируемых файлов.
Проблема в том, что TC, создавая каталоги не пользуется информацией из HeaderData->FileTime для этих каталогов, а у меня нет возможности это исправить, т.к. при создании каталогов TC не обращается к плагину.
Написал об этом на англоязычном форуме http://www.ghisler.ch/board/viewtopic.php?t=6709
но никто поке не отреагтровал. |
|
Back to top |
|
|
beketata
Joined: 26 Feb 2005 Posts: 8
|
(Separately) Posted: Tue Mar 01, 2005 09:23 Post subject: Re: Не вызывается ProcessFile() для директорий при копирован |
|
|
Кому интересно, автор TC ответил на англоязычном форуме:
http://www.ghisler.ch/board/viewtopic.php?t=6709
" ... внесение подобного изменения в интерфейс повалит многие уже существующие плагины."
Так что жить нам ребята без правильной даты у каталогов, скопированных их архивов. |
|
Back to top |
|
|
Sheridan
Joined: 01 Mar 2005 Posts: 129 Location: Пятигорск
|
(Separately) Posted: Tue Mar 01, 2005 09:33 Post subject: |
|
|
beketata
Дату каталога приблизительно (но довольно точно) можно взять, вычислив дату самого старшего файла, находящегося гдето в дереве от данного каталога. Или такое решение не подходит? |
|
Back to top |
|
|
beketata
Joined: 26 Feb 2005 Posts: 8
|
(Separately) Posted: Tue Mar 01, 2005 11:05 Post subject: |
|
|
Sheridan wrote: |
Дату каталога приблизительно (но довольно точно) можно взять, вычислив дату самого старшего файла, находящегося гдето в дереве от данного каталога. Или такое решение не подходит? |
Проблема не в том, откуда эту дату взять, а в том, что ее невозможно установить, т.к. TC не вызывает ни одну функцию из плагина при создании самого каталога. И в этом случае плагину о создании каталога вообще ничего не известно. |
|
Back to top |
|
|
Sheridan
Joined: 01 Mar 2005 Posts: 129 Location: Пятигорск
|
(Separately) Posted: Tue Mar 01, 2005 11:29 Post subject: |
|
|
А о создании файла известно? Файл в каталоге то создается? Строй при распаковке собственноручно дерево каталогов а потом вычисляй что надо. Причем надо обратить внимание - распаковывается файл из корня архива либо из папки архива а также распаковывается архив полностью или только его часть, что насколько я помню sdk тоже не сделаеш... |
|
Back to top |
|
|
|