#16: Author: Dec, Posted: Fri Jun 17, 2016 11:29 MVV
Не знаю, как у тебя реализовано, но информация может пригодится. Некоторые плагины очень критично относятся к переданным параметрам. Если TC передает null в качестве указателя на строку, то и хост должен передавать именно null в плагин, а не ссылку на нулевой символ.
#17: Author: MVV, Location: Ростов-ДонPosted: Sun Jun 19, 2016 03:37 Не, с этим я сразу решил поступить в точности по инструкции. Если нуль - значит нуль.
Понял, почему колбеки не работали, и пришлось перевернуть всю архитектуру. Я каждый вызов делал просто в новом треде, а тут необходимо, чтобы вызов колбека был именно в том треде, который вызвал функцию. В итоге на каждый тред в клиентском модуле создаю тред в серверном модуле, и они общаются независимо от остальных по отдельному каналу.
Заодно баг нашел в Total7zip при распаковке NSIS: сначала думал, это я криво аккумулирую значения прогресса между реальными вызовами колбека, а потом увидел на чистом плагине то же самое.
Шкала общего прогресса скачет, как ей вздумается (почему-то передаются непоследовательные значения).
#18: Author: Avada, Location: Россия, СаратовPosted: Sun Jun 19, 2016 07:44 MVV
По моим запросам: HA теперь работает на упаковку нормально, с Recoder пока изменений нет (но там, видимо, более хитрый плагин — по факту это никакая не упаковка).
#19: Author: MVV, Location: Ростов-ДонPosted: Sun Jun 19, 2016 12:55 О как, даже косяк сам выправился! Хотя с трудом представляю, как последние изменения могли повлиять на работу старого плагина. Разве что на работу плагинов, использующих TLS и поддерживающих фоновые операции (но этот не такой).
Я ещё не добрался до тестирования этих плагинов, только скачал себе в тестовую папку.
Last edited by MVV on Sun Jun 19, 2016 13:08; edited 1 time in total
#20: Author: Avada, Location: Россия, СаратовPosted: Sun Jun 19, 2016 13:07 MVV
Не знаю, что изменилось,. но теперь набор необходимых мне действий для HA обеспечивается (создание архива, полная и частичная распаковка, просмотр и удаление файлов в нём). А вот попытка открыть собственный диалог настройки плагина (там метод сжатия выбирается) вешает TC, как это и прежде наблюдалось.
Last edited by Avada on Sun Jun 19, 2016 13:11; edited 1 time in total
#21: Author: MVV, Location: Ростов-ДонPosted: Sun Jun 19, 2016 13:11 А диалог настройки открывается? У меня что-то не очень... зависает.
#22: Author: Avada, Location: Россия, СаратовPosted: Sun Jun 19, 2016 13:11 MVV
Я как раз выше добавил. Да, зависает.
#23: Author: MVV, Location: Ростов-ДонPosted: Sun Jun 19, 2016 13:20 Я посмотрел, зависает сам вызов функции плагина. Возможно, он пытается взаимодействовать с окном нестандартным способом... В случае Total7zip окно настройки открывается нормально.
#24: Author: Avada, Location: Россия, СаратовPosted: Sun Jun 19, 2016 13:25 MVV
Это лечится? С транслятором от Dec проблем не было.
#25: Author: MVV, Location: Ростов-ДонPosted: Sun Jun 19, 2016 13:32 Для этого неплохо бы понять, что он делает, чем ему не нравится дескриптор окна другого процесса. Пытается его сабклассить? Передавать сообщения со строковыми указателями? Зачем?
Вроде нарыл исходники, можно глянуть.
#26: Author: Avada, Location: Россия, СаратовPosted: Sun Jun 19, 2016 14:07 MVV
C исходниками, если что, проблем нет.
#27: Author: Skif_off, Posted: Sat Jul 09, 2016 04:25 MVV
Правильно ли понимаю, что Wcx6432 не использует какие-то дополнительные фичи ТС и не взаимодействует с ТС как-то иначе, кроме типичного поведения wcx-плагинов: возможности wcx-плагинов + самая обычная поддержка wcx-плагинов в самом ТС?
Как-то сложно звучит Рассматриваю вопрос об использовании с DC, но не знаю, как проверить все реализованные возможности.
#28: Author: MVV, Location: Ростов-ДонPosted: Sat Jul 09, 2016 23:38 Wcx6432 работает исключительно через интерфейс WCX плагинов, аналогичные требования предъявляются к плагинам.
#29: Author: funduk, Location: Санкт-ПетербургPosted: Wed Jul 27, 2016 20:11 MVV
Спасибо за наработку, использовал с Wipe 0.2 без проблем.
Нельзя ли инишник класть в папку с плагинами? У меня в папке TC нет ни одного инишника, кроме Wcx6432.ini , все в %APPDATA%\GHISLER.
Можно, кстати, файл загрузчика не копировать, а создавать на него символические ссылки. Тогда при обновлении надо только распаковать новые файлы с заменой.
#30: Author: MVV, Location: Ростов-ДонPosted: Thu Jul 28, 2016 18:42 Не вижу беды в том, что Wcx6432.ini лежит в папке тотала, а все остальные - в другом месте. Этому файлу не нужны права на запись, поэтому это размещение удовлетворительно (иначе я бы сделал, чтобы файл лежал рядом с wincmd.ini). А то, что у тебя INI-файл там всего один, значит лишь то, что используется мало плагинов (многие плагины хранят свои INI-файлы именно в папке тотала).
В тотале нет стандартного расположения папки с плагинами, у тебя и меня это Plugins, у Васи Пупкина это Плагины, у Пети Васечкина - вообще Плугины. Папка тотала выбрана как раз потому, что её путь можно однозначно определить из переменной окружения, устанавливаемой самим тоталом.
Символьные ссылки - возможно. Главное не пытаться для него жёсткие копии, т.к. жёсткие копии ссылаются на один физический файл, который может быть загружен в процесс только 1 раз.