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
Orion9



PostPosted: Thu May 29, 2025 23:48    Post subject: Reply with quote

Loopback
GetSelectedItems действительно быстрее стала работать, проверил сейчас. Изначально хотел вставить такую строку:
Code:
If GetSelectedItems(3, 0) = '' And GetCurrentItem(3, 2) = 0 Then

Чтобы проверять наличие объекта под курсором, когда на панели ничего не выделено. Иначе ТС выкидывает MessageBox при выполнении команды cm_CopyHdrFileDetailsToClip. Но на больших списках скорости все-равно недостаточно. Поэтому решил, что лучше сначала посылать команду cm_GoToFirstEntry, если под курсором пусто, и только потом делать повторную проверку. Также убрал обнуление массивов, теперь и без этого работает, спасибо за фиксы в новой версии. Ниже последний код функции для подсчета значений в колонках:

 Hidden text

Код, конечно, можно ещё пересматривать и дорабатывать, но сделать пока этого не смогу.
Loopback wrote:
А что такое инстанс? Это просто порядковый номер контрола.

А когда он присваивается, на стадии проектирования или при запуске процесса?

Я думал, это значение постоянное и надежное, и что оно не должно меняться на лету. Autorun тут ни при чём. Я смотрел через Autoit v3 Windows Info. Если в ТС х86 строка состояния левой панели всегда равна TMyPanel5, то в ТС х64 значение инстанса данного элемента меняется прямо на ходу в зависимости от общего числа элементов интерфейса, которые отображаются в окне ТС, т.е. кнопки дисков, выпадающий список дисков, панель инструментов и т.д. Для удобства я использовал TCFS2, чтобы сразу убирать и добавлять по несколько элементов. Строка состояния левой панели при этом болтается как маятник - то Window 7, то Window 6, то опять Window 7, то снова Window 6. Но даже если просто через меню "Настройки" -> "Вид окна" убирать или добавлять компоненты по одной галочке, значение инстанса будет становиться другим, например Window 9 или Window 5, короче, таким, каким ему вздумается. Хочу еще раз отметить: такое происходит только в х64. В обычном 32-битном ТС всё нормально, хотя я не проводил глубоких тестов. Но вы видите у себя такую проблему?
Loopback wrote:
Потому что Autorun не интерактивное графическое приложение, с диалогами, статусными строками и тому подобным.

Ну, вы так расписываете, словно вам действительно ставят задачу сделать из Autorun интерактивное графическое приложение ) На деле лишь просят добавить 1-2 формы для более удобного вывода сообщений и отображения статуса операций. В общем, нужно что-то вроде эквивалента командам infbx и prgrs в TCIMG. Если это возможно сделать, хотелось бы увидить в будущих версиях.
AkulaBig wrote:
Мне-же надо выводить проценты после определенных шагов операций

Ну так сам прогресс-бар и запрос к Loopback как раз об этом.
AkulaBig wrote:
Потому что даже в файле autorun.example.cfg именно этот метод показан.

Да, давненько я не открывал этот файл. Вижу, есть в нём некоторые изменения. А установкой переменных окружения в зависимости от разрядности я тоже пользуюсь, например:

 Hidden text

AkulaBig wrote:
Кстати, вы-же забраковали мой набор пользовательских колонок со всеми существующими значениями. А я тут запускал его именно в альбоме каком-нибудь. Нормально смотрится, когда файлы из одного альбома.

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


Powered by phpBB © 2001, 2005 phpBB Group