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 

Single Post  Topic: Autorun 
Author Message
Loopback



PostPosted: Thu Aug 07, 2025 20:56    Post subject: Reply with quote

AkulaBig
Спасибо за тесты. В всяком случае уже видно, что изначально найденный хэндл окна ТС проходит тест, и, если дать возможность скрипту выполниться до конца, то и в конце тест тоже успешно проходится. Ошибка возникает только в оконной функции диалога, значит невалидным хэндл становится непосредственно до вызова этого диалога. Есть подозрение, что какая-то функция незадолго до места, где возникает "плохая" ошибка, лезет куда-то не туда и что-то портит. Это, кстати, бьется с вашим наблюдениями

AkulaBig wrote:
То-есть написал я строке 111. Появилось сообщение об ошибке. Написал 111 на 15-20 строк ниже. Окно сообщения об ошибке стало появляться в верхнем левом углу экрана

AkulaBig wrote:
Нет, больше найти место для этого косяка не удалось. В остальных случая хорошая ошибка появляется.


Хорошо бы посмотреть эти 15-20 строк перед "плохой" ошибкой.

AkulaBig wrote:
Так что данные инициализации навряд-ли интересны.

Очень даже интересны, при инициализации получаем хэндл окна тотала.


yahuu wrote:
Почему только первый является действительным?

Во втором и остальных случаях вы смешиваете командный синтаксис с функциональным.

Функция здесь только одна - SetHotkeyAction, со своими параметрами. ShowPopupMenu здесь - это не функция как таковая, а строка с именем функции. Это (не считая переключателей) - первый параметр функции SetHotkeyAction. Все параметры после имени функции (%COMMANDER_PATH%\User\Files.BAR 500 600) - это тоже параметры SetHotkeyAction, второй, третий и четвертый. При нажатии комбинации клавиш будет вызвана функция ShowPopupMenu и ей будут переданы эти параметры.

Это частая ошибка. Для лучшего понимания первую запись можно записать так (обратите внимание на кавычки вокруг ShowPopupMenu, это просто строка):

Code:
SetHotkeyAction /K:A /H:F "ShowPopupMenu" "%COMMANDER_PATH%\User\Files.BAR" "500" "600"


Еще лучше это видно в функциональной записи:

Code:
SetHotkeyAction("~/K:A /H:F", "ShowPopupMenu", COMMANDER_PATH & "\User\Files.BAR", 500, 600)


Так что нужно просто использовать либо один, либо другой синтаксис для записи целиком.
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group