Autorun

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

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

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

Сообщение Loopback »

Flasher
А хоть что-то на выходе запускается? Калькулятор, например, или блокнот.

MVV
Для корректного закрытия окна процесса и для убиения дерева процессов.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback
Не работают именно параметры. Просто так exe-шники я уже проверял, там порядок.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher
А попробуй еще одну версию по той же ссылке, там более подробная информация выводится.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback
Debug помог лучше разобраться. Оказывается, если есть ошибки в синтаксисе команд, расположенных над требуемой, то данная команда не отработает как надо. Надо бы этот подход поменять.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher
Менять в какую сторону?

Сейчас скрипт прекращает работу, если в синтаксисе команды ошибка, и мне такой подход представляется единственно правильным. Однако, плагин должен об этой ошибке сообщать.

Какая была команда с ошибочным синтаксисом?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback
Нужно сделать не так, чтобы скрипт прекращал работу на любой неправильной команде, а не трогал только те команды, в которых есть ошибка.
А сейчас плагин не сообщает ни о каких ошибках, если не брать debug, в котором и понять, в чём именно ошибка, без танцев с бубном нельзя. Например, есть команды которые работают с синтаксисом, где одинарные и двойные кавычки чередуются ('exe "Param').
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):Нужно сделать не так, чтобы скрипт прекращал работу на любой неправильной команде, а не трогал только те команды, в которых есть ошибка.
Перечитал несколько раз, но так и не понял.
Flasher писал(а):А сейчас плагин не сообщает ни о каких ошибках
Так-то уж ни о каких? А двадцать с лишним строк сообщений об ошибках - они для красоты сделаны?
Flasher писал(а):Например, есть команды которые работают с синтаксисом, где одинарные и двойные кавычки чередуются ('exe "Param').
Парсер может точно определить две ошибки в расстановке кавычек - незакрытые кавычки и незадвоенные кавычки в строке, . Естественно, при формально правильной расстановке кавычек он не сможет понять, например, что нарушена логика параметров, передаваемых ShellExec.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):Перечитал несколько раз, но так и не понял.
Т.е. все команды с правильным синтаксисом должны отработать в любом случае.
Loopback писал(а):Так-то уж ни о каких? А двадцать с лишним строк сообщений об ошибках - они для красоты сделаны?
Я непосредственно о ShellExec пишу. Никаких ошибок не появляется, если команда не отрабатывает, как в приведённом выше примере.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):Т.е. все команды с правильным синтаксисом должны отработать в любом случае.
Добавлю - с формально правильным синтаксисом.
Они так и отрабатывают. Если нет - пиши, с какими проблемы, буду проверять.
Flasher писал(а):Я непосредственно о ShellExec пишу. Никаких ошибок не появляется, если команда не отрабатывает, как в приведённом выше примере.
Можно добавить сообщение об ошибке, если процесс не запустился.

Но вот, если я правильно помню, с тем же cmd.exe это не прокатит. Поскольку cmd может запуститься, но не отработать команду.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):Они так и отрабатывают.
Ты же пишешь:
Loopback писал(а):Сейчас скрипт прекращает работу, если в синтаксисе команды ошибка
У меня так и происходит. Последующие команды не отрабатывают.
Loopback писал(а):Поскольку cmd может запуститься, но не отработать команду.
Не проверял (там ключ скрытия), другие программы запускал без параметров.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):Ты же пишешь:
Я не вижу противоречия. Если ошибка синтаксиса - скрипт останавливается. Если формальных ошибок нет - выполняет команду.

А что ты предлагаешь? Продолжать выполнять скрипт даже после того, как в одной из команд обнаружилась ошибка?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Ну, да. Ведь это отдельные команды, не зависящие друг от друга (хотя бы ShellExec).
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):Ну, да. Ведь это отдельные команды, не зависящие друг от друга.
Как это не зависят? Например, что-то может зависеть от IniRead, Set, SetEnv, LoadLibrary.

И потом, если есть ошибка - плагин все равно остановится и сообщит об этом. Какой смысл продолжать выполнение? Надо просто исправить ошибку.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback
Это если есть сообщение. А если нет? Поэтому про ShellExec и написал.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher
Ну, кажется причина ясна. Сообщения об ошибках появляются при запуске, но их нет при выходе. Причина - при выходе Тотал уничтожает свое окно (родительское для сообщений) раньше, чем выполняется скрипт завершения.

Попробуй тестовую версию по той же ссылке. Теперь сообщения об ошибках должны появляться в любом случае. Разумеется, при условии что ошибка входит в число тех, которые выявляются плагином.
Ответить