View previous topic :: View next topic |
Author |
Message |
Avada

Joined: 01 Aug 2008 Posts: 10384 Location: Россия, Саратов
|
(Separately) Posted: Tue Jun 22, 2010 10:12 Post subject: |
|
|
Рано радовался. При установленном и штатно работающем Autorun (конфигурация по умолчанию) применение команды cm_UnloadPlugins молча закрывает Тотал. Для меня это делает использование плагина при всех его достоинствах невозможным. Вынужден вернуться на MoveButton, отказавшись (надеюсь, временно) от прочего функционала.
(Собственно, это происходило и в самой первой версии Autorun, но тогда я по запарке не уделил этому на форуме должного внимания, а просто тихо откатился на прежний плагин.) _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10384 Location: Россия, Саратов
|
(Separately) Posted: Tue Jun 22, 2010 12:08 Post subject: |
|
|
MVV
Благодарю за уточнение, это позволяет в качестве временного решения хотя бы распределить нужный функционал между двумя плагинами. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
Loopback
Joined: 07 Sep 2009 Posts: 1465
|
(Separately) Posted: Tue Jun 22, 2010 15:40 Post subject: |
|
|
Исправил.
Использовал альтернативный RTL, и похоже в нем баг. В итоге Autorun_MoveButton просто не получал сообщение DLL_PROCESS_DETACH и не уничтожал поток. |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10384 Location: Россия, Саратов
|
(Separately) Posted: Tue Jun 22, 2010 16:38 Post subject: |
|
|
Тоже подтверждаю, что вылета больше нет. WinXP SP3. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
Loopback
Joined: 07 Sep 2009 Posts: 1465
|
(Separately) Posted: Tue Jun 22, 2010 21:54 Post subject: |
|
|
MVV wrote: | Я в своей HideMenu вообще CRT не использовал, чистый API, потому ни глюков, ни избыточного кода. |
К сожалению, в Delphi совсем отключить использование RTL дело не очень тривиальное, поскольку в этом случае теряется возможность работать с некоторыми стандартными заголовочными файлами, в том числе Windows, где прописаны прототипы функций WinAPI. А так MoveButton тоже на чистом WinAPI. |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10384 Location: Россия, Саратов
|
(Separately) Posted: Wed Jun 23, 2010 20:46 Post subject: |
|
|
По поводу добавления переменных.
Запускаю Тотал с подключённым Autorun. Смотрю переменные (cmd /k set или FS-плагин Environment Variables). В хвост значений переменной Path действительно добавилось C:\Totalcmd.
Перезапускаю TC (выполняется кнопкой, я использую ReloadTC). Снова смотрю список переменных. Теперь там в конце уже две штуки — C:\Totalcmd;C:\Totalcmd. Если повторять перезапуск, то до настоящего закрытия TC этот хвост будет наращиваться. То же самое происходит и после применения команды cm_UnloadPlugins.
В принципе, работать это не мешает, но я не уверен, что такое поведение правильно. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
(Separately) Posted: Wed Jun 23, 2010 23:00 Post subject: |
|
|
Кстати, да, мысль верная. Но тут надо подумать, что можно сделать. Ведь плагин должен как-то определить, что его черное дело уже выполнено откуда он знает, что его запускают из окружения, где переменные уже обновлены. И откуда он знает, не изменились ли значения переменных после того как он их изменял... Тут палка о двух концах...  _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
 |
Loopback
Joined: 07 Sep 2009 Posts: 1465
|
(Separately) Posted: Wed Jun 23, 2010 23:08 Post subject: |
|
|
Avada
Да, переменные же наследуются... Из тотала вызвали ReloadTC, из него опять тотал - а переменная осталась та же, и авторан опять добавляет строку. С выгрузкой плагинов тем более понятно.
Это, конечно, не очень хорошо. Но в принципе эта проблема касается только переменных окружения. Пожалуй, стоит изменить поведение по-умолчанию при параметре /A, чтобы текст не добавлялся, если такой уже есть в конце переменной. А если кому вдруг нужна возможность дублирования - ввести новый параметр, разрешающий дублирование. Хотя тоже не айс, конечно, если переменная будет дополнительно изменена позже.
Была еще идея - создавать новую переменную-маркер. Тогда плагин точно будет знать, что он уже выполнялся. Но мне кажется это еще хуже - после выгрузки и повторной загрузки плагин будет неявно что-то выполнять, а что-то нет. Ну и мусор в виде дополнительной переменной. |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
(Separately) Posted: Wed Jun 23, 2010 23:45 Post subject: |
|
|
Про маркер и я думал, но опять же, как узнать, надо ли дописывать переменную - а вдруг надо еще раз.
Наверное, самая удачная мысль - ввести параметр, разрешающий добавление к переменной, если этот текст в ней уже есть. Так, если надо дописывать - юзер укажет параметр. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
 |
Loopback
Joined: 07 Sep 2009 Posts: 1465
|
(Separately) Posted: Wed Jun 23, 2010 23:52 Post subject: |
|
|
MVV wrote: | Наверное, самая удачная мысль - ввести параметр, разрешающий добавление к переменной, если этот текст в ней уже есть. Так, если надо дописывать - юзер укажет параметр. |
Вот так и сделаю, раз проблема не решается однозначно - пусть будет выбор. В конце-концов, главное чтобы это было документировано. |
|
Back to top |
|
 |
Loopback
Joined: 07 Sep 2009 Posts: 1465
|
(Separately) Posted: Thu Jun 24, 2010 22:38 Post subject: |
|
|
Обновил, и добавил параметр /AD, разрешающий дублирование. |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10384 Location: Россия, Саратов
|
(Separately) Posted: Thu Jun 24, 2010 23:11 Post subject: |
|
|
Loopback
Спасибо, теперь ситуация с переменными меня полностью устраивает. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
|
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
|