Autorun

Обсуждение только плагинов и утилит для Total Commander.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

jentoso
Это только фикс проблемы из этого поста.
Аватара пользователя
yozhik
Сообщения: 353
Зарегистрирован: Вс май 04, 2014 20:34
Откуда: Электросталь

Сообщение yozhik »

Loopback
ModifyDialogs в 64-битном TC в Dark Mode не могли бы посмотреть: текст кнопкам не назначается. Любой кнопке любой текст — не присваивается.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

yozhik
Оказывается, это не работало и раньше. Аналогично выводу значка, замена текста в тёмной x64 не работает. Добавил отрисовку текста...

ModifyDialogs 2023-08-29

Сразу отмечу одну проблему. При задании цвета текста в тёмном режиме, синхронно меняется цвет рамки (если он явно не задан), но не точно с тем же цветом, а темнее. Причем эта разница по цветовым компонентам непостоянна и меняется в зависимости от "яркости" цвета текста. Пока не удастся выяснить закономерности этого смещения, сделал отрисовку рамки цветом текста, соответственно, кнопка визуально будет выглядеть ярче (при цвете текста отличном от значения по умолчанию, только в x64).

Да, и ещё интересное наблюдение: в x64 номера экземпляров контролов в тёмной и светлой теме, оказывается, тоже могут различаться :D Красота просто.
Аватара пользователя
yozhik
Сообщения: 353
Зарегистрирован: Вс май 04, 2014 20:34
Откуда: Электросталь

Сообщение yozhik »

Loopback писал(а):Добавил
Спасибо большое, вечером буду пробовать.
Loopback писал(а):в x64 номера экземпляров контролов в тёмной и светлой теме, оказывается, тоже могут различаться
Добавлю: при AutoSize=0 да; при AutoSize=1 чехарды поменьше. Подождите, подождите, у меня на этот счёт уже целая отчётная простыня составлена с таблицами что/где/когда различается. Просто за последние двое суток не нашлось ни минуты чтобы это здесь аккуратно расписать...
Аватара пользователя
yozhik
Сообщения: 353
Зарегистрирован: Вс май 04, 2014 20:34
Откуда: Электросталь

Сообщение yozhik »

Loopback
Спасибо за исправления, при беглой проверке всё работает. Более внимательно пока не проверял.
———————————————
Итак, отчёт о проделанных исследованиях, как обещал. Пришлось задуматься над методикой составления конфигурации, чтобы в будущем не тратить на неё много времени. Конспектируем опыт.

Основные сложности:
  1. Задержка в x64 при создании элементов окна, из-за которой плагин видит одно, а мы — другое. Подробнее здесь.
  2. Изменения TC от версии к версии, из-за которых предыдущие конфиги становятся неработоспособными (частично).
  3. В актуальном TC (11.01) умножились различия в наборах элементов окон в зависимости от настроек ini.
  4. Некоторые диалоги при едином классе (имени) имеют несколько итераций: метился в одну, а «рикошетом» задело другую. Во избежание сего необходимо подбирать доп. фильтры, на определение которых также влияют перечисленные выше сложности.
Яркий представитель 4й сложности — диалог TINPCOMBODLG, где под одним именем выступают 7 итераций:
  1. Диалог F5/F6 (копирования/перемещения). Его особая переменная в плагине: DIALOG_COPYMOVE.
  2. Диалог F5/F6 сразу после раскрытия панельки Опции. Переменная в плагине: DIALOG_COPYMOVE_POST.
  3. Диалог F5/F6 с прикреплённой панелькой Опции. Переменная в плагине: DIALOG_COPYMOVE_PINNED.
  4. Диалог CS+F5 (создания ярлыка). Его затрагивает DIALOG_COPYMOVE.
  5. Диалог CS+F5 сразу после раскрытия панельки Опции. Его затрагивает DIALOG_COPYMOVE_POST.
  6. Диалог CS+F5 с прикреплённой панелькой Опции. Его затрагивает DIALOG_COPYMOVE_PINNED.
  7. Диалог закачки/загрузки между обычной панелью и панелью WFX-плагинов (например, виртуальной папки VirtualPanel).
Начнём с диалогов x64, поскольку с ними больше всего неразберихи. Чтобы преодолеть 1ю сложность, поручим плагину самому показать нам, что он «видит». Составляем тестовый конфиг, переименовываем все кнопки:

Код: Выделить всё

AddDialog "TINPCOMBODLG"
AddControl "Button" 1 "B1"
AddControl "Button" 2 "B2"
AddControl "Button" 3 "B3"
AddControl "Button" 4 "B4"
AddControl "Button" 5 "B5"
AddControl "Button" 6 "B6"
AddControl "Button" 7 "B7"
AddControl "Button" 8 "B8"
AddControl "Button" 9 "B9"
AddControl "Button" 10 "B10"
AddControl "Button" 11 "B11"
AddControl "Button" 12 "B12"
AddControl "Button" 13 "B13"
Перезапускаемся, вызываем CS+F5, видим:
Изображение

Запускаем оконный сканер (например, Spy++), смотрим на структуру:
Изображение

По новым именам отчётливо определяются те элементы, которые «увидел» плагин — у них статус EXISTS:1 (существует). Некоторые из них с притушенными значками (слева от Window) — у них статус VISIBLE:0 (невидимые). Полученные данные записываем в столбик. Повторяем для каждой итерации. Объединяем столбики в таблицу:

Код: Выделить всё

┌─────────┬─────────┬─────────┬─────────┬─────────┐
│ C       │ CP      │ L       │ LP      │ UL/DL   │
├─────────┼─────────┼─────────┼─────────┼─────────┤
│ B1  EV  │ B1  EV  │ B1  EV  │ B1  EV  │ B1  E   │
│ B2  EV  │ B2  EV  │ B2  E   │ B2  EV  │ B2      │
│ B3  EV  │ B3  EV  │ B3      │ B3  EV  │ B3  EV  │
│ B4      │ B4  EV  │ B4  E   │ B4  EV  │ B4  EV  │
│ B5  EV  │ B5  EV  │ B5  EV  │ B5  EV  │ B5  E   │
│ B6  EV  │ B6  EV  │ B6  EV  │ B6  EV  │ B6  EV  │
│ B7  EV  │ B7  EV  │ B7  EV  │ B7  E   │ B7      │
│ B8  EV  │ B8  EV  │ B8      │ B8      │ B8      │
│ B9      │ B9      │ B9      │ B9  E   │ B9      │
│ B10     │ B10 EV  │ B10     │ B10 EV  │ B10     │
│ B11     │ B11 EV  │ B11     │ B11 EV  │ B11     │
│ B12     │ B12 EV  │ B12     │ B12 EV  │ B12     │
│ B13     │ B13 EV  │ B13     │ B13     │ B13     │
└─────────┴─────────┴─────────┴─────────┴─────────┘
У меня 5 столбиков, потому что итерации _POST меня не интересовали, я их не трогал. C = Copy, CP = Copy Pinned, L = Link, LP = Link Pinned, UL/DL = Upload/Download, E = Exists, V = Visible. Благодаря таблице отчётливо видим, что единственная возможность отфильтровать диалог F5/F6 от др. итераций — это кнопка 8. Удаляем тестовый конфиг — он отработал и больше не нужен. Составляем конфиг для диалога F5/F6:

Код: Выделить всё

AddDialog DIALOG_COPYMOVE
AddCondition /VISIBLE:1   "Button" 8
# здесь настраиваем элементы диалога
AddDialog DIALOG_COPYMOVE_PINNED
# здесь настраиваем элементы диалога с прикреплённой панелькой Опции
На этом описание заканчиваю, чтобы не многословить.
Не все итерации «подчинились» DIALOG_COPYMOVE_PINNED — к ним пришлось обращаться по-иному. Для некоторых итераций пришлось составлять отдельные конфиги с учётом настроек ini. Кому эти детали интересны, смотрите в разворачивающихся блоках.

[cut="Таблицы всех итераций"]
Тестовый конфиг для x32:

Код: Выделить всё

AddDialog "TINPCOMBODLG"
AddControl "TButton" 1 "TB1"
AddControl "TButton" 2 "TB2"
AddControl "TButton" 3 "TB3"
AddControl "TButton" 4 "TB4"
AddControl "TButton" 5 "TB5"
32BIT

Настройка AUTOSIZE = 0/1

Код: Выделить всё

┌──────────┬──────────┬──────────┬──────────┬──────────┐
│ C        │ CP       │ L        │ LP       │ UL/DL    │
├──────────┼──────────┼──────────┼──────────┼──────────┤
│ TB1  EV  │ TB1  EV  │ TB1  E   │ TB1  E   │ TB1  E   │
│ TB2  EV  │ TB2  EV- │ TB2  EV  │ TB2  EV- │ TB2  E   │
│ TB3  EV  │ TB3  EV  │ TB3  EV  │ TB3  EV  │ TB3  EV  │
│ TB4  EV  │ TB4  EV  │ TB4  EV  │ TB4  EV  │ TB4  E   │
│ TB5  EV  │ TB5  EV  │ TB5  EV  │ TB5  EV  │ TB5  EV  │
└──────────┴──────────┴──────────┴──────────┴──────────┘
64BIT

Настройка AUTOSIZE = 1

Код: Выделить всё

┌─────────┬─────────┬─────────┬─────────┬─────────┐
│ C       │ CP      │ L       │ LP      │ UL/DL   │
├─────────┼─────────┼─────────┼─────────┼─────────┤
│ B1  EV  │ B1  EV  │ B1  EV  │ B1  EV  │ B1  E   │
│ B2  EV  │ B2  EV  │ B2  E   │ B2  EV  │ B2      │
│ B3  EV  │ B3  EV  │ B3      │ B3  EV  │ B3  EV  │
│ B4      │ B4  EV  │ B4  E   │ B4  EV  │ B4  EV  │
│ B5  EV  │ B5  EV  │ B5  EV  │ B5  EV  │ B5  E   │
│ B6  EV  │ B6  EV  │ B6  EV  │ B6  EV  │ B6  EV  │
│ B7  EV  │ B7  EV  │ B7  EV  │ B7  E   │ B7      │
│ B8  EV  │ B8  EV  │ B8      │ B8      │ B8      │
│ B9      │ B9      │ B9      │ B9  E   │ B9      │
│ B10     │ B10 EV  │ B10     │ B10 EV  │ B10     │
│ B11     │ B11 EV  │ B11     │ B11 EV  │ B11     │
│ B12     │ B12 EV  │ B12     │ B12 EV  │ B12     │
│ B13     │ B13 EV  │ B13     │ B13     │ B13     │
└─────────┴─────────┴─────────┴─────────┴─────────┘
Настройка AUTOSIZE = 0, LIGHT MODE (светлый режим)

Код: Выделить всё

┌─────────┬─────────┬─────────┬─────────┬─────────┐
│ C       │ CP      │ L       │ LP      │ UL/DL   │
├─────────┼─────────┼─────────┼─────────┼─────────┤
│ B1  EV  │ B1  EV  │ B1  EV  │ B1  EV  │ B1  EV  │
│ B2  EV  │ B2  EV  │ B2  EV  │ B2  EV  │ B2  EV  │
│ B3  EV  │ B3  EV  │ B3  EV  │ B3  EV  │ B3  EV  │
│ B4  EV  │ B4  EV  │ B4  EV  │ B4  EV  │ B4      │
│ B5  EV  │ B5  EV  │ B5      │ B5  EV  │ B5      │
│ B6  EV  │ B6  EV  │ B6      │ B6  EV  │ B6      │
│ B7  EV  │ B7  EV  │ B7      │ B7  EV  │ B7      │
│ B8      │ B8  EV  │ B8      │ B8  EV  │ B8      │
│ B9      │ B9  EV  │ B9      │ B9  EV  │ B9      │
│ B10     │ B10 EV  │ B10     │ B10     │ B10     │
│ B11     │ B11 EV  │ B11     │ B11     │ B11     │
│ B12     │ B12 EV  │ B12     │ B12     │ B12     │
│ B13     │ B13     │ B13     │ B13     │ B13     │
└─────────┴─────────┴─────────┴─────────┴─────────┘
Настройка AUTOSIZE = 0, DARK MODE (тёмный режим)

Код: Выделить всё

┌─────────┬─────────┬─────────┬─────────┬─────────┐
│ C       │ CP      │ L       │ LP      │ UL/DL   │
├─────────┼─────────┼─────────┼─────────┼─────────┤
│ B1  EV  │ B1  EV  │ B1  EV  │ B1  EV  │ B1  E   │
│ B2  EV  │ B2  EV  │ B2  E   │ B2  EV  │ B2      │
│ B3  EV  │ B3  EV  │ B3      │ B3  EV  │ B3  EV  │
│ B4      │ B4  EV  │ B4  E   │ B4  EV  │ B4  EV  │
│ B5  EV  │ B5  EV  │ B5  EV  │ B5  EV  │ B5  E   │
│ B6  EV  │ B6  EV  │ B6  EV  │ B6  EV- │ B6  EV  │
│ B7  EV  │ B7  EV  │ B7  EV  │ B7  E   │ B7      │
│ B8  EV  │ B8  EV  │ B8      │ B8      │ B8      │
│ B9      │ B9      │ B9      │ B9  E   │ B9      │
│ B10     │ B10 EV  │ B10     │ B10 EV  │ B10     │
│ B11     │ B11 EV  │ B11     │ B11 EV  │ B11     │
│ B12     │ B12 EV  │ B12     │ B12 EV  │ B12     │
│ B13     │ B13 EV  │ B13     │ B13     │ B13     │
└─────────┴─────────┴─────────┴─────────┴─────────┘
[/cut]
[cut="Фильтры для итераций по результатам данных из таблиц"]
Вместо троеточий — команды настройки элементов.
Каждое отдельное условие IF обусловлено различием в настройках.

Код: Выделить всё

#====== Диалог копирования/перемещения cm_Copy/cm_RenMove F5/F6
#       32-битный, с подстройкой под шрифт
If %AUTORUN_TCARCH% = 32 AND %AUTOSIZE% = 1 Then
  AddDialog DIALOG_COPYMOVE
  AddCondition /VISIBLE:1 "TButton" 1 #F2
    ...
  AddDialog DIALOG_COPYMOVE_PINNED
    ...
EndIf
#       32-битный, без подстройки под шрифт
If %AUTORUN_TCARCH% = 32 AND %AUTOSIZE% = 0 Then
  AddDialog DIALOG_COPYMOVE
  AddCondition /VISIBLE:1 "TButton" 1 #F2
    ...
  AddDialog DIALOG_COPYMOVE_PINNED
    ...
EndIf
#       64-битный, с подстройкой под шрифт
If %AUTORUN_TCARCH% = 64 AND %AUTOSIZE% = 1 Then
  AddDialog DIALOG_COPYMOVE
  AddCondition /VISIBLE:1   "Button" 8
    ...
  AddDialog DIALOG_COPYMOVE_PINNED
    ...
EndIf
#       64-битный, без подстройки под шрифт, базовый, светлый
If %AUTORUN_TCARCH% = 64 AND %AUTOSIZE% = 0 AND %DARKMODE% = 0 Then
  AddDialog "TINPCOMBODLG"
  AddCondition /EXISTS:1    "Button" 7
  AddCondition /EXISTS:0    "Button" 8
  ...
EndIf
#       64-битный, без подстройки под шрифт, базовый, тёмный
If %AUTORUN_TCARCH% = 64 AND %AUTOSIZE% = 0 AND %DARKMODE% = 2 Then
  AddDialog "TINPCOMBODLG"
  AddCondition /EXISTS:1    "Button" 8
  AddCondition /EXISTS:0    "Button" 9
  ...
EndIf
#       64-битный, без подстройки под шрифт, прикреплённый, светлый
If %AUTORUN_TCARCH% = 64 AND %AUTOSIZE% = 0 AND %DARKMODE% = 0 Then
  AddDialog "TINPCOMBODLG"
  AddCondition /EXISTS:1    "Button" 12
  ...
EndIf
#       64-битный, без подстройки под шрифт, прикреплённый, тёмный
If %AUTORUN_TCARCH% = 64 AND %AUTOSIZE% = 0 AND %DARKMODE% = 2 Then
  AddDialog "TINPCOMBODLG"
  AddCondition /EXISTS:1    "Button" 13
  ...
EndIf

#====== Диалог создания ярлыка cm_CreateShortcut Ctrl+Shift+F5
#       32-битный
If %AUTORUN_TCARCH% = 32 Then
  If %AUTOSIZE% = 1 Then
    AddDialog "TINPCOMBODLG"
    AddCondition /VISIBLE:0 "TButton" 1
    AddCondition /VISIBLE:1 "TButton" 4
    ...
  Else # %AUTOSIZE% = 0
    AddDialog "TINPCOMBODLG"
    AddCondition /VISIBLE:0 "TButton" 1
    AddCondition /VISIBLE:1 "TButton" 4
    ...
  EndIf
EndIf
#       64-битный, с подстройкой под шрифт, базовый
If %AUTORUN_TCARCH% = 64 AND %AUTOSIZE% = 1 Then
  AddDialog "TINPCOMBODLG"
  AddCondition /EXISTS:1    "Button" 7
  AddCondition /VISIBLE:0   "Button" 8
  AddCondition /EXISTS:0    "Button" 9
  ...
EndIf
#       64-битный, с подстройкой под шрифт, прикреплённый
If %AUTORUN_TCARCH% = 64 AND %AUTOSIZE% = 1 Then
  AddDialog "TINPCOMBODLG"
  AddCondition /EXISTS:1    "Button" 7
  AddCondition /VISIBLE:0   "Button" 8
  AddCondition /EXISTS:1    "Button" 12
  ...
EndIf
#       64-битный, без подстройки под шрифт, базовый, светлый
If %AUTORUN_TCARCH% = 64 AND %AUTOSIZE% = 0 AND %DARKMODE% = 0 Then
  AddDialog "TINPCOMBODLG"
  AddCondition /EXISTS:1    "Button" 4
  AddCondition /EXISTS:0    "Button" 5
  ...
EndIf
#       64-битный, без подстройки под шрифт, базовый, тёмный
If %AUTORUN_TCARCH% = 64 AND %AUTOSIZE% = 0 AND %DARKMODE% = 2 Then
  AddDialog "TINPCOMBODLG"
  AddCondition /EXISTS:1    "Button" 7
  AddCondition /EXISTS:0    "Button" 8
  ...
EndIf
#       64-битный, без подстройки под шрифт, прикреплённый, светлый
If %AUTORUN_TCARCH% = 64 AND %AUTOSIZE% = 0 AND %DARKMODE% = 0 Then
  AddDialog "TINPCOMBODLG"
  AddCondition /EXISTS:1    "Button" 9
  AddCondition /EXISTS:0    "Button" 10
  ...
EndIf
#       64-битный, без подстройки под шрифт, прикреплённый, тёмный
If %AUTORUN_TCARCH% = 64 AND %AUTOSIZE% = 0 AND %DARKMODE% = 2 Then
  AddDialog "TINPCOMBODLG"
  AddCondition /EXISTS:1    "Button" 12
  AddCondition /EXISTS:0    "Button" 13
  ...
EndIf
[/cut]

Добавлено спустя 57 минут:

Учитывая 1ю сложность, тестовый конфиг можно использовать также для наглядного определения элементов. Делаем снимок диалога, применяем тестовый конфиг, снова делаем снимок диалога, открываем их — всё как на ладони:
Изображение
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Фундаментально!

К списку сложностей добавлю еще наличие/появление графических элементов, таких как "кнопки" +F7/+F8, которые вообще не поддаются модификации.

Собственно из-за всего этого для себя я уже давно отказался от модификации диалогов, проще привыкнуть.
yozhik писал(а):тестовый конфиг можно использовать также для наглядного определения элементов
Кстати да, даже без учета неопределенности с x64, это хороший способ быстро получить актуальные номера экземпляров без использования сторонних инструментов. Пожалуй, стоит добавить в справку.
Аватара пользователя
jentoso
Сообщения: 443
Зарегистрирован: Чт дек 20, 2007 01:36

Сообщение jentoso »

В справке Autorun указано, что по умолчанию Autorun не запускается, если TC выполняется как отдельный процесс для поиска/просмотра/и т.д, но можно изменить это поведение с помощью директивы Pragma AutorunLoadInSubprocess.
Я заметил, что при завершении работы TC, в памяти мог остаться процесс TC. Поиском и перебором определил, что процесс не завершается из-за Autorun. К примеру при открытии диалога поиска файлов отдельным процессом или запуска Lister без открытия основного окна TC (/S=L), процесс остается в памяти.
Получается что Autorun запускается, если TC выполняется отдельным процессом? Но почему-то после добавления вышеуказанной директивы, процессы стали завершаться и не остаются висеть в памяти.
TC 11.58 combo, Windows 11 x64
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

jentoso
В справке не совсем точная формулировка, конечно же он запускается (по-другому и быть не может), но не выполняет скрипт, если запущен в отдельном процессе. Определяется это по наличию /S= в командной строке.

Так или иначе, я не смог подтвердить проблему, у меня все процессы завершаются.
Аватара пользователя
jentoso
Сообщения: 443
Зарегистрирован: Чт дек 20, 2007 01:36

Сообщение jentoso »

Loopback
Расширение конфига aucfg на это никак не влияет?
Сам конфиг так выглядит
[cut]

Код: Выделить всё

LoadLibrary Plugins\TCFS2\TCFS2Tools.dll
LoadLibrary Plugins\Autorun_Tweaks.dll
LoadLibrary Plugins\Autorun_Sysinfo.dll
LoadLibrary Plugins\Autorun_Process.dll
LoadLibrary Plugins\tctitle.dll
LoadLibrary Plugins\Autorun_ModifyDialogs.dll
If %AUTORUN_TCARCH% = 32 Then
  LoadLibrary Plugins\ScrollTC\ScrollTC.dll
EndIf

#Шрифты
LoadFont /N Font\InconsolataCyr.ttf
LoadFont /N Font\tahoma.ttf

#Переменные
SetEnv /A TCIMG "%COMMANDER_PATH%\plugins\Tools\TCIMG\TCIMG.exe"
SetEnv /A TCFS2 "%COMMANDER_PATH%\plugins\WDX\Autorun\Plugins\TCFS2\TCFS2.exe"
SetEnv /A IRFAN "%COMMANDER_PATH%\Utils\IrfanView\i_view32.exe"
SetEnv /A PATH ;%COMMANDER_PATH%

# Ctrl+ПКМ по табуляторам = Наборы колонок: 
ControlSetMouseAction /R /K:C 5 SendCommand 483
ControlSetMouseAction /R /K:C 6 SendCommand 483

# Alt+ПКМ по табуляторам активной панели = настройка набора колонок: 
ControlSetMouseAction /R:U /K:A 10001 SendCommand 2920

# СКМ по панели инструментов = настроить панель инструментов гор/верт: 
ControlSetMouseAction /M:U 28 SendCommand 498
ControlSetMouseAction /M:U 29 SendCommand 583

# Ctrl+ПКМ по кнопке на панели инструментов = настройка кнопки панели инструментов: 
ControlSetMouseAction /R:U /K:C 28 CommandExec em_click1
ControlSetMouseAction /R:U /K:C 29 CommandExec em_click2

# СКМ по строке состояния = командная строка TC: 
ControlSetMouseAction /M:U 7 SendCommand 2910
ControlSetMouseAction /M:U 8 SendCommand 2910

#СКМ по функциональной кнопке = вызывает меню:
ControlSetMouseAction /M:U /B:1 17 ShowPopupMenu /A:16 %COMMANDER_PATH%\Language\HINTS.MNU

DisableMarkedMenuItems "  "

# Включает отображение административных шар
SendCommand cm_AdministerServer

Pragma AutorunLoadInSubprocess

# После этой строки все действия выполняются при закрытии TC
Pragma AutorunFinalizeSection
[/cut]
TC 11.58 combo, Windows 11 x64
Аватара пользователя
yozhik
Сообщения: 353
Зарегистрирован: Вс май 04, 2014 20:34
Откуда: Электросталь

Сообщение yozhik »

Loopback
Чтой-то MsgBox в 64-битах перестал работать. Может в TC 11.01 что-то изменилось? Раньше работал, в TC 10 x64 точно помню что работал. В 32-битах работает. В 64-битах в тёмной теме даже видно, как он мелькает во время запуска и сразу пропадает. Проверял «чистым» скриптом, никаких записей, только один MsgBox.
Изображение
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

jentoso
Расширение не влияет.

Попробовал подключить конфиг, две строки пришлось закомментировать:
#LoadLibrary Plugins\tctitle.dll - какой-то плагин? Я про него не знаю.
#LoadFont /N Font\InconsolataCyr.ttf

Повторить не смог. TC 11.01, версии плагинов и субплагинов последние, которые выкладывались.

yozhik
MsgBox на 64 битах всегда глючил (даже в справке к функции упомянуто). Один раз может появиться, другой раз нет... Возможно, как-нибудь сделаю ещё заход и попытаюсь понять причину.
Аватара пользователя
yozhik
Сообщения: 353
Зарегистрирован: Вс май 04, 2014 20:34
Откуда: Электросталь

Сообщение yozhik »

Loopback
Ага, я хорошо помню это место в справке. В памяти также отложилось, что он вроде работал когда-то, поэтому я и сигнализировал. Конечно, добро если причина станет ясна и на это ещё и не уйдёт много времени. Но в целом, может и не стоит вообще его тратить, время. MsgBox очень удобен в отладке. Но не единственен, можно и ShellExec к этому делу приспособить, она в 64 битах стабильно работает:

Код: Выделить всё

ShellExec %COMSPEC% "/K echo.Отладка, шаг 1"
Аватара пользователя
jentoso
Сообщения: 443
Зарегистрирован: Чт дек 20, 2007 01:36

Сообщение jentoso »

Loopback
Конфиг я тоже комментировал, даже пустой файл подсовывал, но TC оставался в памяти.
Расширение не влияет.
А вот здесь и произошла магия в моем случае. Переименовал autorun.aucfg в autorun.cfg, TC перестал оставаться в памяти.

P.S. Наверно какой-то частный случай. Версия Autorun 2.2.8 (MD5: E0A847AF58C256B0EB94E81906222AF7)
TC 11.58 combo, Windows 11 x64
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

jentoso писал(а):Версия Autorun 2.2.8
Вообще-то актуальная версия 2.2.10, и там было немало исправлений. Например, такое:

- исправлено падение при использовании функций ТК в отдельных процессах

"Падение" на некоторых системах вполне может выражаться как зависание в памяти.
Аватара пользователя
jentoso
Сообщения: 443
Зарегистрирован: Чт дек 20, 2007 01:36

Сообщение jentoso »

Loopback
Я почему-то был уверен, что 2.2.8 последняя, а то что скоро уже буде год 2.2.10 проглядел.
P.S. Может надо на первый пост вынести ссылку с примечанием, что то последняя версия (beta).
TC 11.58 combo, Windows 11 x64
Ответить