View previous topic :: View next topic |
Author |
Message |
Loopback
Joined: 07 Sep 2009 Posts: 1483
|
(Separately) Posted: Sat Apr 05, 2025 10:22 Post subject: |
|
|
AkulaBig wrote: | Теперь при запуске ТС сразу мелькает какое-то сообщение, хотя со вчерашней версией все работает. |
Если версия x64, то возможно, проблему с закрывающимся диалогом ошибки так и не удалось до конца решить. Если попробовать 32-битную, там будет нормально?
AkulaBig wrote: |
Но в данных случаях проценты ставить обязательно:
IcoNumber = "%COMMANDER_PATH%\Images\Enumeration\00.ico" |
Не обязательно, это просто строка. Зависит от как дальнейшего её применения.
AkulaBig wrote: | Pragma Include %COMMANDER_PATH%\Plugins\wdx\Autorun\IcoNumber.aucfg
...
SetEnv /EV arc_7z %COMMANDER_PATH%\Archivers\7z\7z.exe |
Директивы записываются в КЗ. Третья строка и есть КЗ.
AkulaBig wrote: | А в данном работать не будет: |
А это ФЗ.
AkulaBig wrote: | Может тогда проценты убрать везде, кроме КЗ? Тогда будет все логично. |
Так их сейчас и нет нигде, кроме КЗ. |
|
Back to top |
|
 |
Orion9

Joined: 01 Jan 2024 Posts: 722
|
(Separately) Posted: Sat Apr 05, 2025 11:36 Post subject: |
|
|
Loopback
Видимо, последнее обновление действительно весьма проблемное.
Сначала словил:
Code: | Ошибка в файле: D:\Portable\TC 11.51\Ini\Scripts\Environment.aucfg
[295] Func AssocWinSynс()
Недопустимое имя функции: AssocWinSynс |
И это хорошо, потому что символ "c" на конце оказался русским. Нужно выявлять такие ошибки, и это соответствует исправлению "- не определялись некорректные символы в имени пользовательской функции"
А далее началось:
Code: | Ошибка в файле: D:\Portable\TC 11.51\Ini\Scripts\Environment.aucfg
[397] ShellExec %COMMANDER_EXE% '/S=L:Piclview "%f%""'
Данный синтаксис более не используется в выражениях. Пожалуйста, удалите символы % в имени %COMMANDER_EXE% для исправления ошибки. Это сообщение будет убрано в будущих версиях. |
Ну, подумал, может, кавычка вторая не нравится, хотя так и было задумано в этой записи. Закомментировал строку и словил следующее:
Code: | Ошибка в файле: D:\Portable\TC 11.51\Ini\Title\Title.aucfg
[599] IniWrite %BarFile% "Buttonbar" "menu8" %"'IP - ' & PingAddress"
Данный синтаксис более не используется в выражениях. Пожалуйста, удалите символы % в имени %BarFile% для исправления ошибки. Это сообщение будет убрано в будущих версиях. |
В общем, дальше проверять нет смысла, поскольку у меня все команды по этому принципу записаны. Выходит, что неправильно?
AkulaBig прав. В х64 окно об ошибке мелькает и не даёт прочитать сообщение. В самом окне об ошибке в 32-битном Тотале кнопка "Править" не открывает скрипт, и клик по синей ссылке тоже ничего не даёт.
Посмотрел мельком справку. Хотелось бы пример на объект TextFile. Как в нём организовать построчное чтение файла в цикле? |
|
Back to top |
|
 |
Loopback
Joined: 07 Sep 2009 Posts: 1483
|
(Separately) Posted: Sat Apr 05, 2025 12:01 Post subject: |
|
|
Orion9 wrote: | Выходит, что неправильно? |
Нет, эти записи правильные, мой косяк, в принципе уже понятно в чем дело. К сожалению до вечера ничего делать не смогу. Пока убрал релиз с сайта.
Orion9 wrote: | В х64 окно об ошибке мелькает и не даёт прочитать сообщение. |
Очень печально, чувствую эту проблему так и не получится решить.
Orion9 wrote: | В самом окне об ошибке в 32-битном Тотале кнопка "Править" не открывает скрипт, и клик по синей ссылке тоже ничего не даёт. |
Тут используется редактор, заданный в TC, но возможно, что-то не совместимо. Что у вас задано в качестве редактора и как?
Как вариант, можно в блокноте открывать, если не удастся выполнить заданную там команду.
Orion9 wrote: | Хотелось бы пример на объект TextFile. Как в нём организовать построчное чтение файла в цикле? |
В простейшем варианте:
Code: |
ff = TextFile(COMMANDER_INI)
While Not ff.AtEOF
MsgBox(ff.ReadLine())
Wend
Free(ff)
|
|
|
Back to top |
|
 |
Orion9

Joined: 01 Jan 2024 Posts: 722
|
(Separately) Posted: Sat Apr 05, 2025 13:06 Post subject: |
|
|
Loopback wrote: | К сожалению до вечера ничего делать не смогу. |
Да нам спешить некуда, лишь бы всё работало. Я просто подумал, что уже достаточно потренировался и рубанул как надо, не хотелось бы проходить через это ещё раз, тем более что сейчас нет такой возможности.
Loopback wrote: | Очень печально, чувствую эту проблему так и не получится решить. |
Как говорил Джон Коннор: "Выжимать будем до последнего байта, а надеяться до последнего бита". Так что не спешите, пока еще не судный день)
Loopback wrote: | возможно, что-то не совместимо. Что у вас задано в качестве редактора и как? |
Исключительно know-how ) Но видимо Autorun как раз doesn't know how to когда в качестве редактора задано такое ))
Code: | Editor=hidcon %COMMANDER_PATH%\Ini\Scripts\F4.bat |
Loopback wrote: | Как вариант, можно в блокноте открывать, если не удастся выполнить заданную там команду. |
Да, не помешало бы такое.
Loopback wrote: | В простейшем варианте: |
Действительно простой и приятный вариант. Тогда ещё в справке можно сделать уточнение, что метод ReadLine передвигает указатель на следующую строку, а то не совсем понятно.
А чем работа с объектом TextFile лучше файловых функций? Есть какие-то очевидные отличия и преимущества? |
|
Back to top |
|
 |
AkulaBig
Joined: 03 Dec 2008 Posts: 269
|
(Separately) Posted: Sat Apr 05, 2025 20:17 Post subject: |
|
|
Loopback wrote: | Если версия x64, то возможно, проблему с закрывающимся диалогом ошибки так и не удалось до конца решить. Если попробовать 32-битную, там будет нормально? |
Не было возможности ответить, но все уже разъяснили за меня. Так что ждем исправления. Насчет х64. Ведь до начала изменений окно ошибки отлично отрабатывало. Так что может его и оставить как было, только исправить сообщение. |
|
Back to top |
|
 |
Loopback
Joined: 07 Sep 2009 Posts: 1483
|
(Separately) Posted: Sat Apr 05, 2025 20:48 Post subject: |
|
|
Orion9 wrote: | Editor=hidcon %COMMANDER_PATH%\Ini\Scripts\F4.bat |
Проверил, у меня открывает без проблем...
Если что есть директива AutorunErrorBoxEditor, но хотелось бы, чтобы по умолчанию максимально совместимо было.
Orion9 wrote: | А чем работа с объектом TextFile лучше файловых функций? Есть какие-то очевидные отличия и преимущества? |
Функции File* - это простые функции, делающие только одну операцию за раз. Поскольку прочитать и записать файл целиком - наиболее частые сценарии. Чуть реже дозаписать. Сделаны исключительно для удобства простых действий.
TextFile - более продвинутое решение, если требуется работать с большими файлами. У него больше возможностей именно с этой точки зрения. Но на самом деле я не вижу много сценариев для него именно в Autorun.
AkulaBig wrote: | Ведь до начала изменений окно ошибки отлично отрабатывало. Так что может его и оставить как было, только исправить сообщение. |
До начала каких изменений? И когда оно отлично отрабатывало? Окно ошибки под x64 регулярно самозакрывалось и раньше (чаще всего при выводе ошибки парсинга), и судя по всему, проблема осталась и сейчас. |
|
Back to top |
|
 |
AkulaBig
Joined: 03 Dec 2008 Posts: 269
|
(Separately) Posted: Sat Apr 05, 2025 21:08 Post subject: |
|
|
Loopback wrote: | До начала каких изменений? |
Когда я выложил скрин и вы написали, что неправильное сообщение об ошибки. То-есть о пустом значении.
Loopback wrote: | Окно ошибки под x64 регулярно самозакрывалось и раньше |
Но на моей ошибки оно не самозакрывалось. |
|
Back to top |
|
 |
Loopback
Joined: 07 Sep 2009 Posts: 1483
|
(Separately) Posted: Sat Apr 05, 2025 21:48 Post subject: |
|
|
AkulaBig wrote: | Но на моей ошибки оно не самозакрывалось. |
Ну я же писал, что чаще это происходит при выводе ошибок парсинга. На скрине ошибка времени исполнения (у нее доступен ОК). Да и фикс, видимо, частично работает. После вчерашнего исправления ошибка поменялась на ошибку парсинга, а соответственно, стала чаще подвержена проблеме самозакрытия.
Впрочем, сегодня выложу исправленную версию, там она снова будет появляться при исполнении, а значит реже закрываться. Но это не значит, что проблема с самозакрытием полностью исправлена.
Добавлено спустя 1 час 23 минуты:
Хотфикс Autorun 2.2.18.1 beta
Надеюсь, что там где не нужно, сообщение больше появляться не будет. |
|
Back to top |
|
 |
Orion9

Joined: 01 Jan 2024 Posts: 722
|
(Separately) Posted: Sat Apr 05, 2025 23:13 Post subject: |
|
|
Пара хороших новостей. Скопировал ключ в каталог ТС, окно перестало мелькать. Видимо, окно триала мешало окну Autorun.
Убрал пробелы из пути к ТС, кнопка "Править" заработала. А значит эту проблему можно решить. Ну, и будем надеятся, что теперь в х64 окно MsgBox будет работать. Предпосылки к этому вроде есть.
Loopback wrote: | Но на самом деле я не вижу много сценариев для него именно в Autorun. |
Когда-то и для файловых операций особо не было сценариев, но с каждой новой версией возможностей становится больше, а вместе с ними и аппетитов. Сейчас с появлением DllCall сложно себе представить задачу в ТС, с которой Autorun бы не справился. Попалось тут на глаза, ну разве не круто? Надеюсь, Flasher будет и дальше заливать (и побольше!) примеров в справку, уверен, у него есть чем там поделиться.)
Добавлено спустя 33 минуты:
Loopback wrote: | Хотфикс Autorun 2.2.18.1 beta
Надеюсь, что там где не нужно, сообщение больше появляться не будет. |
Всё запустилось и работает. Быстро пробежался по функционалу - пока проблем нет, кроме одной. Окно стало плохо перерисовываться, т.е. раньше все гладко было, а теперь артефакты на экране остаются:
Code: | IniRead lines %COMMANDER_INI% "Buttonbar" "BarLimitLines" 1
If lines = 1 Then
IniWrite %COMMANDER_INI% "Buttonbar" "BarLimitLines" 0
Else
IniWrite %COMMANDER_INI% "Buttonbar" "BarLimitLines" 1
Endif
SendMessage(AUTORUN_TCHANDLE, 11, 0, 0)
SendCommand 2901
SendCommand 2901
Sleep(50)
SendMessage(AUTORUN_TCHANDLE, 11, 1, 0)
WinRedraw(1)
|
Завтра больше потестирую и лучше. |
|
Back to top |
|
 |
Orion9

Joined: 01 Jan 2024 Posts: 722
|
(Separately) Posted: Sun Apr 06, 2025 13:08 Post subject: |
|
|
Update.
Проверил всё, что смог. Работает. Фактически только одна проблема была обнаружена с перерисовкой экрана. Думал, WinRedraw(0) поможет, но так стало только хуже. Вынужден был откатился на вариант с TCFS2:
Code: | ShellExec /SW_HIDE /WAIT:2000 %TCFS2% '/ef "msg($0B, 0, 0) tcm(2901) tcm(2901) msg($0B, 1, 0) run_item(update)"' |
Но надеюсь функционал WinRedraw будет починен, т.к. с ним было глаже, чем с TCFS2. Хотя и TCFS2 меня тоже устраивает. |
|
Back to top |
|
 |
Loopback
Joined: 07 Sep 2009 Posts: 1483
|
(Separately) Posted: Sun Apr 06, 2025 14:32 Post subject: |
|
|
Orion9 wrote: | Видимо, окно триала мешало окну Autorun. |
Весьма возможно.
Orion9 wrote: | Убрал пробелы из пути к ТС, кнопка "Править" заработала. А значит эту проблему можно решить. |
Думаю, должно помочь простое окавычивание пути к батнику:
Code: | Editor=hidcon "%COMMANDER_PATH%\Ini\Scripts\F4.bat" |
Я вообще стараюсь везде использовать кавычки, где потенциально могут появиться пробелы.
Orion9 wrote: | Ну, и будем надеятся, что теперь в х64 окно MsgBox будет работать. |
На самом деле причина закрытия окна в x64 понятна и достаточно банальна: в процессе запуска в оконную функцию диалога иногда приходит сообщение WM_COMMAND с IDCANCEL, которое и закрывает стандартный диалог. К сожалению, этому подвержены и диалоги, созданные с DialogBoxParam. Но искать, где и почему тотал его отправляет, наверно, смысла мало, всё равно на это повлиять не получится. Возможно, это как раз что-то связано с окном триала.
Хотелось бы все-таки решить эту проблему без создания полностью своего окна. Так что попытки ещё будут.
Orion9 wrote: | Окно стало плохо перерисовываться, т.е. раньше все гладко было |
Плагин Runtime не менялся с прошлой версии.
Но WinRedraw имеет еще флаг 2 (забыт, не документирован), который обновляет методом TCFS2. Может он поможет. |
|
Back to top |
|
 |
AkulaBig
Joined: 03 Dec 2008 Posts: 269
|
(Separately) Posted: Sun Apr 06, 2025 16:16 Post subject: |
|
|
Loopback wrote: | Хотфикс Autorun 2.2.18.1 beta |
Теперь и у меня все работает. Ругнулся на %If AUTORUN_TCARCH% = 32 Then, попросил убрать процентики и все. Только смутило надпись, что в будущем это сообщение уберут. Не понятно зачем. |
|
Back to top |
|
 |
Orion9

Joined: 01 Jan 2024 Posts: 722
|
(Separately) Posted: Mon Apr 07, 2025 00:34 Post subject: |
|
|
Loopback wrote: | Думаю, должно помочь простое окавычивание пути к батнику: |
Не помогает, хотя вроде должно. Странно. Не открывает, даже если "hidcon" вообще убрать и взять оставшийся путь в кавычки. Мелькает окно консоли в таком случае, и в процессах создаются один за другим "OpenConsole.exe -Embedding", которые продолжают висеть, пока их вручную не снимешь. Один раз удалось отловить в зависшем окне консоли строку запуска:
Code: | C:\Windows\system32\cmd.exe /c ""D:\Portable\TC 11.51\Ini\Scripts\F4.bat" D:\Portable\TC 11.51\Ini\Scripts\Environment.aucfg" |
Судя по всему, путь скрипта передается без кавычек в батник, поэтому и не работает.
Loopback wrote: | Возможно, это как раз что-то связано с окном триала. |
Наверняка связано, только не понятно, почему в 32-битном ТС оно триала так не мешает.
Loopback wrote: | Плагин Runtime не менялся с прошлой версии. |
Хотел было залить обновленную версию, но обнаружил, что и в старой такая же проблема. Не пойму, как я мог её пропустить. Видимо, сыграло роль, что я в развернутом окне всё делал, а как раз в развернутом окне ТС проблемы перерисовки с WinRedraw(1) нету. Знаю, что функция эксперементальная, но могли бы вы посмотреть в чём может причина? Ведь когда-то же всё работало (самая первая кнопка на тулбаре, и совершенно не к спеху, если что). Хотя я пользуюсь ТС в основном в развернутом виде, сомневаюсь, что мог пропустить такую проблему перерисовки.
Loopback wrote: | Но WinRedraw имеет еще флаг 2 (забыт, не документирован), который обновляет методом TCFS2. Может он поможет. |
Помог. Пока остановился на таком варианте:
Code: | SendMessage(AUTORUN_TCHANDLE, 11, 0, 0)
SendCommand 2901
SendCommand 2901
Sleep(50)
SendMessage(AUTORUN_TCHANDLE, 11, 1, 0)
Sleep(10)
WinRedraw(2) |
|
|
Back to top |
|
 |
Loopback
Joined: 07 Sep 2009 Posts: 1483
|
(Separately) Posted: Mon Apr 07, 2025 14:06 Post subject: |
|
|
AkulaBig wrote: | Только смутило надпись, что в будущем это сообщение уберут. Не понятно зачем. |
Оно предполагалось как временное для переходного периода. Но может и оставлю.
Orion9 wrote: | Судя по всему, путь скрипта передается без кавычек в батник, поэтому и не работает. |
Мда, выше сам же написал про добавление кавычек, а вот тут упустил...
Это хорошо. |
|
Back to top |
|
 |
AkulaBig
Joined: 03 Dec 2008 Posts: 269
|
(Separately) Posted: Mon Apr 07, 2025 21:21 Post subject: |
|
|
Loopback wrote: | Оно предполагалось как временное для переходного периода. Но может и оставлю.
|
Лучше оставьте. Все-же сейчас использование процентов стало совсем неочевидным. Видимо правильным, раз вы так считаете, но неочевидным. И для новичков (и для меня ) будет лучше, если это сообщение об ошибке останется. |
|
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
|