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 ... 181, 182, 183, 184, 185, 186  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Loopback



Joined: 07 Sep 2009
Posts: 1483

Post (Separately) Posted: Sat Apr 05, 2025 10:22    Post subject: Reply with quote

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
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 722

Post (Separately) Posted: Sat Apr 05, 2025 11:36    Post subject: Reply with quote

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% для исправления ошибки. Это сообщение будет убрано в будущих версиях.

В общем, дальше проверять нет смысла, поскольку у меня все команды по этому принципу записаны. Выходит, что неправильно? Shocked

AkulaBig прав. В х64 окно об ошибке мелькает и не даёт прочитать сообщение. В самом окне об ошибке в 32-битном Тотале кнопка "Править" не открывает скрипт, и клик по синей ссылке тоже ничего не даёт.

Посмотрел мельком справку. Хотелось бы пример на объект TextFile. Как в нём организовать построчное чтение файла в цикле?
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1483

Post (Separately) Posted: Sat Apr 05, 2025 12:01    Post subject: Reply with quote

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
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 722

Post (Separately) Posted: Sat Apr 05, 2025 13:06    Post subject: Reply with quote

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
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 269

Post (Separately) Posted: Sat Apr 05, 2025 20:17    Post subject: Reply with quote

Loopback wrote:
Если версия x64, то возможно, проблему с закрывающимся диалогом ошибки так и не удалось до конца решить. Если попробовать 32-битную, там будет нормально?

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



Joined: 07 Sep 2009
Posts: 1483

Post (Separately) Posted: Sat Apr 05, 2025 20:48    Post subject: Reply with quote

Orion9 wrote:
Editor=hidcon %COMMANDER_PATH%\Ini\Scripts\F4.bat

Проверил, у меня открывает без проблем...

Если что есть директива AutorunErrorBoxEditor, но хотелось бы, чтобы по умолчанию максимально совместимо было.


Orion9 wrote:
А чем работа с объектом TextFile лучше файловых функций? Есть какие-то очевидные отличия и преимущества?

Функции File* - это простые функции, делающие только одну операцию за раз. Поскольку прочитать и записать файл целиком - наиболее частые сценарии. Чуть реже дозаписать. Сделаны исключительно для удобства простых действий.

TextFile - более продвинутое решение, если требуется работать с большими файлами. У него больше возможностей именно с этой точки зрения. Но на самом деле я не вижу много сценариев для него именно в Autorun.

AkulaBig wrote:
Ведь до начала изменений окно ошибки отлично отрабатывало. Так что может его и оставить как было, только исправить сообщение.

До начала каких изменений? И когда оно отлично отрабатывало? Окно ошибки под x64 регулярно самозакрывалось и раньше (чаще всего при выводе ошибки парсинга), и судя по всему, проблема осталась и сейчас.
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 269

Post (Separately) Posted: Sat Apr 05, 2025 21:08    Post subject: Reply with quote

Loopback wrote:
До начала каких изменений?

Когда я выложил скрин и вы написали, что неправильное сообщение об ошибки. То-есть о пустом значении.
Loopback wrote:
Окно ошибки под x64 регулярно самозакрывалось и раньше

Но на моей ошибки оно не самозакрывалось.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1483

Post (Separately) Posted: Sat Apr 05, 2025 21:48    Post subject: Reply with quote

AkulaBig wrote:
Но на моей ошибки оно не самозакрывалось.

Ну я же писал, что чаще это происходит при выводе ошибок парсинга. На скрине ошибка времени исполнения (у нее доступен ОК). Да и фикс, видимо, частично работает. После вчерашнего исправления ошибка поменялась на ошибку парсинга, а соответственно, стала чаще подвержена проблеме самозакрытия.

Впрочем, сегодня выложу исправленную версию, там она снова будет появляться при исполнении, а значит реже закрываться. Но это не значит, что проблема с самозакрытием полностью исправлена.

Добавлено спустя 1 час 23 минуты:

Хотфикс Autorun 2.2.18.1 beta

Надеюсь, что там где не нужно, сообщение больше появляться не будет.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 722

Post (Separately) Posted: Sat Apr 05, 2025 23:13    Post subject: Reply with quote

Пара хороших новостей. Скопировал ключ в каталог ТС, окно перестало мелькать. Видимо, окно триала мешало окну 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
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 722

Post (Separately) Posted: Sun Apr 06, 2025 13:08    Post subject: Reply with quote

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
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1483

Post (Separately) Posted: Sun Apr 06, 2025 14:32    Post subject: Reply with quote

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
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 269

Post (Separately) Posted: Sun Apr 06, 2025 16:16    Post subject: Reply with quote

Loopback wrote:
Хотфикс Autorun 2.2.18.1 beta

Теперь и у меня все работает. Ругнулся на %If AUTORUN_TCARCH% = 32 Then, попросил убрать процентики и все. Только смутило надпись, что в будущем это сообщение уберут. Не понятно зачем.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 722

Post (Separately) Posted: Mon Apr 07, 2025 00:34    Post subject: Reply with quote

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
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1483

Post (Separately) Posted: Mon Apr 07, 2025 14:06    Post subject: Reply with quote

AkulaBig wrote:
Только смутило надпись, что в будущем это сообщение уберут. Не понятно зачем.

Оно предполагалось как временное для переходного периода. Но может и оставлю.

Orion9 wrote:
Судя по всему, путь скрипта передается без кавычек в батник, поэтому и не работает.

Мда, выше сам же написал про добавление кавычек, а вот тут упустил...

Orion9 wrote:
Помог.

Это хорошо.
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 269

Post (Separately) Posted: Mon Apr 07, 2025 21:21    Post subject: Reply with quote

Loopback wrote:
Оно предполагалось как временное для переходного периода. Но может и оставлю.

Лучше оставьте. Все-же сейчас использование процентов стало совсем неочевидным. Видимо правильным, раз вы так считаете, но неочевидным. И для новичков (и для меня Embarassed ) будет лучше, если это сообщение об ошибке останется.
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 ... 181, 182, 183, 184, 185, 186  Next
Page 182 of 186

 
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