View previous topic :: View next topic |
Author |
Message |
flm
Joined: 09 Dec 2007 Posts: 467
|
(Separately) Posted: Tue Nov 30, 2010 21:54 Post subject: |
|
|
MVV
Если не включать 7z.dll в комплект поставки плагина и успользовать отдельный exe-шник для упаковки - в чём, собственно, удобства и зачем вообще плагин писать? _________________ cogito ergo sum
http://www.yakimchuk.ru/questions.htm - Как правильно задавать вопросы |
|
Back to top |
|
|
Nikola Ant
Joined: 28 Sep 2009 Posts: 105 Location: Poltava
|
(Separately) Posted: Tue Nov 30, 2010 23:04 Post subject: |
|
|
MVV wrote: | Я бы тоже с большим удовольствием лицезрел плагин отдельно от 7z.dll - люблю качать маленькие плагины.
... единственное, что должен сделать юзер с архивом плагина - войти в него и подтвердить выбор. |
А отчего, собственно, юзеру так и не поступить?
gora wrote: | Из плагина лучше исключить 7z.dll, т.к. у пользователя архиватор обычно уже установлен и зачастую более новой версии, чем будет со временем в Вашем плагине. ИМХО. |
В итоге: вы(множественное число) против простого юзера?
Мне приходилось не один раз устанавливать людям плагин cdrXview.wlx. Там необходим 7za.exe, но без авторского вложения в архив - очень неудобно. Раздавать ссылки на скачивание...? Тоже не комфортно. Пусть в поставке проги будет комплект, ИМХО. Тем более не у всех 7зип стоит на компе, а так и портабельность получается. |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10252 Location: Россия, Саратов
|
(Separately) Posted: Tue Nov 30, 2010 23:30 Post subject: |
|
|
Nikola Ant wrote: | Пусть в поставке проги будет комплект, ИМХО. Тем более не у всех 7зип стоит на компе, а так и портабельность получается. |
Полностью поддерживаю. Удалить за ненадобностью тем, у кого есть, много проще, чем искать тем, у кого нет. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
gora
Joined: 30 Dec 2004 Posts: 442 Location: Иваново
|
(Separately) Posted: Tue Nov 30, 2010 23:34 Post subject: |
|
|
Nikola Ant wrote: | Пусть в поставке проги будет комплект |
Через n месяцев, когда автор плагина завершит его разработку и забросит его, пользователи будут продолжать скачивать плагин с устаревшей dll и выкидывать ее, заменяя на новую. Плюс к этому пользователь еще должен при обновлении своего архиватора не забыть положить новую dll в папку плагина, что тоже сложно для простого пользователя. _________________ Win7 SP1 Ultimate x64, TC8.52a x64 |
|
Back to top |
|
|
Lev
Joined: 02 Mar 2005 Posts: 392
|
(Separately) Posted: Tue Nov 30, 2010 23:42 Post subject: |
|
|
Может сделать пару линков на загрузку плагина - с включением .dll и без? |
|
Back to top |
|
|
Rodny
Joined: 24 Jan 2007 Posts: 949 Location: Могилёв, Беларусь
|
(Separately) Posted: Tue Nov 30, 2010 23:45 Post subject: |
|
|
gora
Я тоже сначала подумал, что dll нужно не включать. Но потом подумал ещё. Пускай лучше работает "из коробки" со старой версией, чем не работает совсем. А если пользователь всё равно ставит/обновляет архиватор целиком, можно один раз прописать путь к dll и забыть. А если не ставит, то обновление и сведётся к новой dll в папке плагина.
А если/когда плагин будет на wincmd.ru, тогда и два архива несложно сделать. |
|
Back to top |
|
|
CaptainFlint
Joined: 14 Dec 2004 Posts: 6151 Location: Москва
|
(Separately) Posted: Wed Dec 01, 2010 01:59 Post subject: |
|
|
MVV wrote: | А тотал сам запоминает используемые ранее пути для плагинов. Например, у меня щас для твоего плагина предложил путь %COMMANDER_PATH%\Plugins\Lister\Total7zip. Видимо, предыдущим я ставил плагин для листера. |
Не совсем так. Тотал изначально предлагает пути вида %COMMANDER_PATH%\plugins\{wcx|wdx|wfx|wlx}, но разрешает пользователю менять имена подкаталогов на свои (например, Lister вместо wlx). В этом случае при установке нового плагина Тотал вынужден угадывать эти нестандартные имена, для чего он анализирует файлы в соответствующих подкаталогах. Видимо, у тебя в Lister-каталоге завалялся WCX-плагин (например, от Imagine) и это сбивает Тотал с толку, вот он и предлагает этот путь для WCX-плагина. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Wed Dec 01, 2010 02:39 Post subject: |
|
|
Не, ни одного установленного пакер-плагина в папке Lister нет. Imagine.wcx я не использую.
Просто похоже, что тотал запоминает последнюю использовавшуюся папку для установки плагинов, причем независимо от типа. Я щас на чистый тотал поставил Imagine в папку Plugins\Lister\Imagine, а потом вошел в архив с этим плагином - тотал предложил ставить его в Plugins\Lister\Total7zip. Кстати, у этой версии Imagine, которую я ставил на новый тотал, файла Imagine.wcx в папке нет.
Хотя, похоже, ты прав. Удалил файл Imagine.wcx из папки Imagine - и предлагать поставить Total7zip стал в папку Plugins\Packer... Странное поведение. Зачем искать файлы в подпапках папки плагинов, когда разумнее сканировать каталоги установки плагинов в wincmd.ini... _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Last edited by MVV on Wed Dec 01, 2010 03:02; edited 2 times in total |
|
Back to top |
|
|
Total7zip
Joined: 27 Nov 2010 Posts: 287
|
(Separately) Posted: Wed Dec 01, 2010 02:58 Post subject: |
|
|
flm wrote: | Т.е. такое, как накартинке соорудить - совсем сложно и не хочется? |
диалог сделать просто.
но совсем не хочется вникать в то, какие опции есть у 7zip.
мне кажется автор постарался и сделал хороший интерфейс под Windows.
зачем повторять эту работу? к тому же я уверен, что 7zip не просто так развивается и обновляется.
про то, что надо выкладывать плагин отдельно - сделаю отдельный архив только с плагином, для тех кому это нужно. в следующей версии.
в настоящее время задумался над созданием и изменением архивов... |
|
Back to top |
|
|
CaptainFlint
Joined: 14 Dec 2004 Posts: 6151 Location: Москва
|
(Separately) Posted: Wed Dec 01, 2010 03:09 Post subject: |
|
|
MVV wrote: | Imagine.wcx я не использую. |
Использовать и не надо, достаточно одного лишь наличия файла, даже если он вообще не зарегистрирован как плагин.
MVV wrote: | Просто похоже, что тотал запоминает последнюю использовавшуюся папку для установки плагинов, причем независимо от типа. |
Это однозначно не так. Как часть более общего алгоритма — возможно, но не более того. У меня плагины сидят в Content Plugins, FileSystem Plugins, Lister Plugins, Packer Plugins, и Тотал предлагает устанавливать плагины ровно туда, куда надо, независимо от того, куда именно был установлен последний плагин. Вернее, так стало, когда я устранил несоответствия типов файлов, вроде того же Imagine.wcx.
MVV wrote: | Я щас на чистый тотал поставил Imagine в папку Plugins\Lister\Imagine, а потом вошел в архив с этим плагином - тотал предложил ставить его в Plugins\Lister\Total7zip. Кстати, у этой версии Imagine, которую я ставил на новый тотал, файла Imagine.wcx в папке нет. |
Ну, значит, на начальном этапе, пока нет всех четырёх подкаталогов, у него не хватает информации, и он предлагает первое попавшееся местоположение.
MVV wrote: | Странное поведение. Зачем искать файлы в подпапках папки плагинов, когда разумнее сканировать каталоги установки плагинов в wincmd.ini... |
Хотел бы я знать…
Ладно, к сабжу это обсуждение отношения не имеет, так что лучше либо закруглиться, либо выделиться в новую ветку. Впрочем, лично у меня по этому поводу всё равно информации больше не имеется. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
flm
Joined: 09 Dec 2007 Posts: 467
|
(Separately) Posted: Wed Dec 01, 2010 03:19 Post subject: |
|
|
Total7zip wrote: | flm wrote: | Т.е. такое, как накартинке соорудить - совсем сложно и не хочется? |
диалог сделать просто.
но совсем не хочется вникать в то, какие опции есть у 7zip.
|
Мда... Если даже "в опции вникать не хочется", то мой вердикт по поводу этой всей затеи - "закапывайте". Очередная под(д)елка на тему функций 7zip'а в tc. Единственная надежда, что Ghisler всё-таки услышит пользователей и сделает нативную поддержку 7zip.dll... _________________ cogito ergo sum
http://www.yakimchuk.ru/questions.htm - Как правильно задавать вопросы |
|
Back to top |
|
|
Total7zip
Joined: 27 Nov 2010 Posts: 287
|
(Separately) Posted: Wed Dec 01, 2010 16:29 Post subject: |
|
|
flm wrote: | Total7zip wrote: | flm wrote: | Т.е. такое, как накартинке соорудить - совсем сложно и не хочется? |
диалог сделать просто.
но совсем не хочется вникать в то, какие опции есть у 7zip.
|
Мда... Если даже "в опции вникать не хочется", то мой вердикт по поводу этой всей затеи - "закапывайте". Очередная под(д)елка... |
закапал новую версию 0.5.0.6.
=)
исправлено открывание exe дистрибутивов
подробнее тут http://forum.wincmd.ru/viewpost.php?p=70667
добавил сохранение конфига при установке.
добавил самообучение по расширениям.
подробнее:
Code: | в версии 0.5.0.6 добавилась возможность запоминать расширения файлов и их соответствие с подходящим распаковщиком из 7z.dll.
например, расширения FireFox хранятся в файлах ".xpi", и мой плагин ничего про это не знает.
при попытке открыть такой файл плагин подберет подходящий распаковщик, и сохранит в конфиге новое расширение.
в следующий раз этот распаковщик будет испробован в первую очередь для заданного типа файлов.
если вам не нравится такое самообучение - вы можете отключить его отредактировав конфиг
поменяйте <formats save="1" /> на
<formats save="0" /> |
|
|
Back to top |
|
|
Total7zip
Joined: 27 Nov 2010 Posts: 287
|
(Separately) Posted: Thu Dec 02, 2010 20:35 Post subject: |
|
|
для тестирования - первая версия с поддержкой упаковки с помощью 7zG.exe
7zG.exe берется там же, где у вас находится 7z.dll
http://narod.yandex.ru/disk/709496001/wcx_Total7zip_0507_test_pack_2.7z
установка - заменой файла Total7zip.wcx поверх версии 0.5.0.6
и правка
7z=68,%COMMANDER_PATH%\Plugins\wcx\Total7zip\Total7zip.wcx
на
7z=223,%COMMANDER_PATH%\Plugins\wcx\Total7zip\Total7zip.wcx
в wincmd.ini
тотал передает нам такие флаги при упаковке
PK_PACK_MOVE_FILES - Delete original after packing
PK_PACK_SAVE_PATHS - Save path names of files
PK_PACK_ENCRYPT - Ask user for password, then encrypt file with that password
пока я их честно игнорирую, потому что
1) для того чтоб реализовать PK_PACK_MOVE_FILES надо дождаться завершения упаковки, и мы теряем возможность упаковки в фоне. но фича мне нравится и я попробую тут что-нибудь сделать в будущем.
2) PK_PACK_SAVE_PATHS - 7zip хочет в качестве одного из параметров корень (папку в которой находятся файлы), попозже разберусь, можно ли это реализовать.
3) PK_PACK_ENCRYPT - в 7zG.exe можно вводить пароль независимо от этого флага. так что до свидания PK_PACK_ENCRYPT .
в ближайших планах - посмотреть, можно ли как-то сохранять настройки упаковки, чтоб не показывать диалог каждый раз.
отпишитесь - как вам такая реализация?
кстати - я так думаю что легко можно использовать 64битный упаковщик, если система позволяет.
update: обновил ссылку, не добавлялись пустые папки. |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Thu Dec 02, 2010 21:37 Post subject: |
|
|
Quote: | 1) для того чтоб реализовать PK_PACK_MOVE_FILES надо дождаться завершения упаковки | А что мешает создать фоновый поток, запустить оттуда 7zG.exe и дождаться его завершения, а потом удалить файлы, если завершено удачно? Фоновый поток, который мирно спит, ожидая завершения работы другой программы, никаких ресурсов не потребляет.
На всякий случай кусок кода фонового потока: Code: | SHELLEXECUTEINFO shx; memset(&shx, 0, sizeof(SHELLEXECUTEINFO));
shx.cbSize=sizeof(SHELLEXECUTEINFO);
shx.lpFile=path_to_7zg;
shx.lpDirectory=working_directory;
shx.lpParameters=parameters;
shx.nShow=SW_SHOW;
shx.fMask=SEE_MASK_NOCLOSEPROCESS;
shx.lpVerb=0;
shx.hwnd=0;
if (!ShellExecuteEx(&shx)) result=some_nonzero_error_number;
if (shx.hProcess) {
WaitForSingleObject(shx.hProcess, INFINITE);
DWORD return_code=1;
if (GetExitCodeProcess(shx.hProcess, &return_code) && !return_code) {
// а тут можно удалять файлы, если нужно
}
CloseHandle(shx.hProcess);
}
// а тут можно удалить файл списка |
Нужно лишь убедиться, что 7zG возвращает разные значения при успешном завершении и при отмене/ошибке. Обычно при успешном возвращают 0.
Ага, проверил - при отмене операции возвращаемое значение равно 255. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Last edited by MVV on Thu Dec 02, 2010 22:16; edited 7 times in total |
|
Back to top |
|
|
Reflector
Joined: 29 Nov 2009 Posts: 56
|
(Separately) Posted: Thu Dec 02, 2010 21:42 Post subject: |
|
|
Total7zip wrote: |
в ближайших планах - посмотреть, можно ли как-то сохранять настройки упаковки, чтоб не показывать диалог каждый раз.
|
А смысл? 7zG.exe хранит настройки в реестре, когда ты в этот диалог настроек попадаешь, то связь с плагином уже потеряна, т.е. прочесть и запомнить можно только старые настройки. При этом любая другая программа, в том числе и сам 7z, может полезть в реестр и натвикать там все под себя... Кроме того, ты не можешь вызвать 7zG.exe просто чтобы поменять настройки, обязательно нужно что-то пакануть.
И почему ты список файлов получаешь не в фоне? Даю паковать большой каталог, тотал блокируется на 30 сек, при этом 7zG.exe запускается почти сразу, т.е. можно начать упаковку когда список еще не готов... |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|