Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Autorun
Goto page Previous  1, 2, 3, 4 ... 76, 77, 78  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Avada



Joined: 01 Aug 2008
Posts: 9010
Location: Россия, Саратов

Post (Separately) Posted: Tue Jun 22, 2010 10:12    Post subject: Reply with quote

Рано радовался. Crying or Very sad При установленном и штатно работающем Autorun (конфигурация по умолчанию) применение команды cm_UnloadPlugins молча закрывает Тотал. Для меня это делает использование плагина при всех его достоинствах невозможным. Вынужден вернуться на MoveButton, отказавшись (надеюсь, временно) от прочего функционала.
(Собственно, это происходило и в самой первой версии Autorun, но тогда я по запарке не уделил этому на форуме должного внимания, а просто тихо откатился на прежний плагин.)
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4604
Location: Ростов-Дон

Post (Separately) Posted: Tue Jun 22, 2010 10:28    Post subject: Reply with quote

Avada wrote:
Рано радовался. Crying or Very sad При установленном и штатно работающем Autorun (конфигурация по умолчанию) применение команды cm_UnloadPlugins молча закрывает Тотал.

Подтверждаю. Но только при загруженном Autorun_MoveButton.dll, причем, не просто загруженном, а активном. Если закомментировать строчку MoveOptionsButton MOVE_LEGACY в конфиге, вылет уже не происходит.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 9010
Location: Россия, Саратов

Post (Separately) Posted: Tue Jun 22, 2010 12:08    Post subject: Reply with quote

MVV
Благодарю за уточнение, это позволяет в качестве временного решения хотя бы распределить нужный функционал между двумя плагинами.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 735

Post (Separately) Posted: Tue Jun 22, 2010 15:40    Post subject: Reply with quote

Исправил.

Использовал альтернативный RTL, и похоже в нем баг. В итоге Autorun_MoveButton просто не получал сообщение DLL_PROCESS_DETACH и не уничтожал поток.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4604
Location: Ростов-Дон

Post (Separately) Posted: Tue Jun 22, 2010 15:44    Post subject: Reply with quote

Подтверждаю, что работает без вылетов. Win7x64. Cool

Я в своей HideMenu вообще CRT не использовал, чистый API, потому ни глюков, ни избыточного кода. Smile
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 9010
Location: Россия, Саратов

Post (Separately) Posted: Tue Jun 22, 2010 16:38    Post subject: Reply with quote

Тоже подтверждаю, что вылета больше нет. WinXP SP3.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 735

Post (Separately) Posted: Tue Jun 22, 2010 21:54    Post subject: Reply with quote

MVV wrote:
Я в своей HideMenu вообще CRT не использовал, чистый API, потому ни глюков, ни избыточного кода.

К сожалению, в Delphi совсем отключить использование RTL дело не очень тривиальное, поскольку в этом случае теряется возможность работать с некоторыми стандартными заголовочными файлами, в том числе Windows, где прописаны прототипы функций WinAPI. А так MoveButton тоже на чистом WinAPI.
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 9010
Location: Россия, Саратов

Post (Separately) Posted: Wed Jun 23, 2010 20:46    Post subject: Reply with quote

По поводу добавления переменных.
Запускаю Тотал с подключённым Autorun. Смотрю переменные (cmd /k set или FS-плагин Environment Variables). В хвост значений переменной Path действительно добавилось C:\Totalcmd.
Перезапускаю TC (выполняется кнопкой, я использую ReloadTC). Снова смотрю список переменных. Теперь там в конце уже две штуки — C:\Totalcmd;C:\Totalcmd. Если повторять перезапуск, то до настоящего закрытия TC этот хвост будет наращиваться. То же самое происходит и после применения команды cm_UnloadPlugins.
В принципе, работать это не мешает, но я не уверен, что такое поведение правильно.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4604
Location: Ростов-Дон

Post (Separately) Posted: Wed Jun 23, 2010 23:00    Post subject: Reply with quote

Кстати, да, мысль верная. Но тут надо подумать, что можно сделать. Ведь плагин должен как-то определить, что его черное дело уже выполненоSmile откуда он знает, что его запускают из окружения, где переменные уже обновлены. И откуда он знает, не изменились ли значения переменных после того как он их изменял... Тут палка о двух концах... Exclamation
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 735

Post (Separately) Posted: Wed Jun 23, 2010 23:08    Post subject: Reply with quote

Avada
Да, переменные же наследуются... Из тотала вызвали ReloadTC, из него опять тотал - а переменная осталась та же, и авторан опять добавляет строку. С выгрузкой плагинов тем более понятно.

Это, конечно, не очень хорошо. Но в принципе эта проблема касается только переменных окружения. Пожалуй, стоит изменить поведение по-умолчанию при параметре /A, чтобы текст не добавлялся, если такой уже есть в конце переменной. А если кому вдруг нужна возможность дублирования - ввести новый параметр, разрешающий дублирование. Хотя тоже не айс, конечно, если переменная будет дополнительно изменена позже.

Была еще идея - создавать новую переменную-маркер. Тогда плагин точно будет знать, что он уже выполнялся. Но мне кажется это еще хуже - после выгрузки и повторной загрузки плагин будет неявно что-то выполнять, а что-то нет. Ну и мусор в виде дополнительной переменной.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4604
Location: Ростов-Дон

Post (Separately) Posted: Wed Jun 23, 2010 23:45    Post subject: Reply with quote

Про маркер и я думал, но опять же, как узнать, надо ли дописывать переменную - а вдруг надо еще раз.

Наверное, самая удачная мысль - ввести параметр, разрешающий добавление к переменной, если этот текст в ней уже есть. Так, если надо дописывать - юзер укажет параметр.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 735

Post (Separately) Posted: Wed Jun 23, 2010 23:52    Post subject: Reply with quote

MVV wrote:
Наверное, самая удачная мысль - ввести параметр, разрешающий добавление к переменной, если этот текст в ней уже есть. Так, если надо дописывать - юзер укажет параметр.

Вот так и сделаю, раз проблема не решается однозначно - пусть будет выбор. В конце-концов, главное чтобы это было документировано.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 735

Post (Separately) Posted: Thu Jun 24, 2010 22:38    Post subject: Reply with quote

Обновил, и добавил параметр /AD, разрешающий дублирование.
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 9010
Location: Россия, Саратов

Post (Separately) Posted: Thu Jun 24, 2010 23:11    Post subject: Reply with quote

Loopback
Спасибо, теперь ситуация с переменными меня полностью устраивает.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4604
Location: Ростов-Дон

Post (Separately) Posted: Thu Jun 24, 2010 23:29    Post subject: Reply with quote

Ага, работает. Smile
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3, 4 ... 76, 77, 78  Next
Page 3 of 78

 
Jump to:  
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