что-то не соображу, как добраться до файла при копировании его из панели архивного плагина в панель моего?drkns 27.09.2009 01:05:56 +0200 - build 1145
2. Свершилось то, о чём так долго говорили большевики - far не использует SetCurrentDirectory при навигации по папкам.
...
Ещё не поздно исправиться и начать использовать FCTL_GETCURRENTDIRECTORY.
CurrentDirectory и плагины
- den po
- Posts: 61
- Joined: Tue 30 Aug, 2005 07:53
- Location: Чувашия, г.Чебоксары
- Has thanked: 3 times
- Contact:
CurrentDirectory и плагины
JUST_DAn_PO
- John Doe
- Бюрократ
- Posts: 13836
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 428 times
- Contact:
Re: CurrentDirectory и плагины
Пока никто не доработал архиваторные плагины - точно никак.
А с мултиарком - это невозможно в принципе, поскольку целевая директория должна быть текущей, что в данном случае невозможно.
Разве что распаковывать во временную директорию, а потом автоматически копировать средствами фара...
Впрочем это лишнее, пусть хотя бы сообщает что мол распаковка невозможна
А с мултиарком - это невозможно в принципе, поскольку целевая директория должна быть текущей, что в данном случае невозможно.
Разве что распаковывать во временную директорию, а потом автоматически копировать средствами фара...
Впрочем это лишнее, пусть хотя бы сообщает что мол распаковка невозможна
https://t.me/FarManager — Telegram чат
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Re: CurrentDirectory и плагины
Давай с подробностями: как раньше добирался, как теперь пытаешься и что останавливает.den po wrote:что-то не соображу, как добраться до файла при копировании его из панели архивного плагина в панель моего?
- den po
- Posts: 61
- Joined: Tue 30 Aug, 2005 07:53
- Location: Чувашия, г.Чебоксары
- Has thanked: 3 times
- Contact:
Re: CurrentDirectory и плагины
дык эта, раньше из текущего каталога файлы забирал, и было ок.DrKnS wrote:Давай с подробностями: как раньше добирался, как теперь пытаешься и что останавливает.den po wrote:что-то не соображу, как добраться до файла при копировании его из панели архивного плагина в панель моего?
а потом в коде фара появились изменения, о чём гласит цитата в первом сообщении. и стало не ок.
разжую на всякий. раньше при копировании из одного плагина в другой файлы помещались (распаковывались) во временную папку, откуда целевой плагин легко файлы забирал, потому что папка эта была текущей. а теперь узнать, откуда брать файлы, не представляется возможным. FCTL_... выдаёт пустую строку, текущая папка - папка плагина, и где лежат файлы, совершенно неясно.
JUST_DAn_PO
- den po
- Posts: 61
- Joined: Tue 30 Aug, 2005 07:53
- Location: Чувашия, г.Чебоксары
- Has thanked: 3 times
- Contact:
Re: CurrentDirectory и плагины
оно. и FCTL_GETCURRENTDIRECTORY ни к чему. это в будущих ревизиях будет?
или это намёк, мол возьми да сделай?
или это намёк, мол возьми да сделай?
JUST_DAn_PO
-
- Posts: 6834
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Текущая директория Фара
Просьба прояснить ситуацию, т.к. давно ощущаю недопонимание в данной области.
Для конкретности, отбросим плагиновые панели, рассматриваем только панели Фара.
ANSI-плагинов не установлено ни одного.
Вопросы:
1.
2. Команда
3. Функции Viewer() и Editor() не могут открыть файл в активной панели, если не указать им полного пути. Так должно быть?
4. Так какая же директория является текущей в Фаре и с помощью какого API её получить?
Для конкретности, отбросим плагиновые панели, рассматриваем только панели Фара.
ANSI-плагинов не установлено ни одного.
Вопросы:
1.
panel.GetPanelDirectory(nil,1).Name
(FCTL_GETPANELDIRECTORY) и far.GetCurrentDirectory()
(FSF.GetCurrentDirectory) у меня при гулянии по разным папкам возвращают одно и то же (папку активной панели). Так должно быть?2. Команда
dir
выдаёт содержимое активной панели. Так должно быть?3. Функции Viewer() и Editor() не могут открыть файл в активной панели, если не указать им полного пути. Так должно быть?
4. Так какая же директория является текущей в Фаре и с помощью какого API её получить?
-
- Posts: 6834
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Текущая директория Фара
Да, это работает, я предоставил непроверенную информацию.
А не работает вот что:
lua:=win.GetFileAttr("file.ext")
.- с полным путём - работает
- если загружен хотя бы 1 ANSI-плагин - работает и без полного пути
-
- Posts: 6834
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Текущая директория Фара
Это показывает историю вопроса, да. Но не объясняет, почему так должно быть. То-есть я не вижу связи, почему поддержка длинных путей должна убить возможность вызывать функции Windows API, задавая пути относительно текущей директории (если она действительно текущая, а не прикидывается ею). Возможно, недопонимаю что-то, поэтому и завёл тему.
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Текущая директория Фара
По второй ссылке написано же:
Старые плагины отсутствуют, каталог не соответствует.Far устанавливает "текущий каталог" процесса исключительно в целях совместимости со старыми плагинами, и никто не гарантирует, что он всегда будет соответствовать каталогу, открытому в текущей панели.