Страница 42 из 243
Добавлено: Вт дек 18, 2012 16:15
Loopback
Flasher
А хоть что-то на выходе запускается? Калькулятор, например, или блокнот.
MVV
Для корректного закрытия окна процесса и для убиения дерева процессов.
Добавлено: Вт дек 18, 2012 17:07
Flasher
Loopback
Не работают именно параметры. Просто так exe-шники я уже проверял, там порядок.
Добавлено: Вт дек 18, 2012 17:53
Loopback
Flasher
А попробуй еще одну версию по той же ссылке, там более подробная информация выводится.
Добавлено: Вт дек 18, 2012 19:23
Flasher
Loopback
Debug помог лучше разобраться. Оказывается, если есть ошибки в синтаксисе команд, расположенных над требуемой, то данная команда не отработает как надо. Надо бы этот подход поменять.
Добавлено: Ср дек 19, 2012 10:10
Loopback
Flasher
Менять в какую сторону?
Сейчас скрипт прекращает работу, если в синтаксисе команды ошибка, и мне такой подход представляется единственно правильным. Однако, плагин должен об этой ошибке сообщать.
Какая была команда с ошибочным синтаксисом?
Добавлено: Ср дек 19, 2012 11:03
Flasher
Loopback
Нужно сделать не так, чтобы скрипт прекращал работу на любой неправильной команде, а не трогал только те команды, в которых есть ошибка.
А сейчас плагин не сообщает ни о каких ошибках, если не брать debug, в котором и понять, в чём именно ошибка, без танцев с бубном нельзя. Например, есть команды которые работают с синтаксисом, где одинарные и двойные кавычки чередуются ('exe "Param').
Добавлено: Ср дек 19, 2012 13:12
Loopback
Flasher писал(а):Нужно сделать не так, чтобы скрипт прекращал работу на любой неправильной команде, а не трогал только те команды, в которых есть ошибка.
Перечитал несколько раз, но так и не понял.
Flasher писал(а):А сейчас плагин не сообщает ни о каких ошибках
Так-то уж ни о каких? А двадцать с лишним строк сообщений об ошибках - они для красоты сделаны?
Flasher писал(а):Например, есть команды которые работают с синтаксисом, где одинарные и двойные кавычки чередуются ('exe "Param').
Парсер может точно определить две ошибки в расстановке кавычек - незакрытые кавычки и незадвоенные кавычки в строке, . Естественно, при формально правильной расстановке кавычек он не сможет понять, например, что нарушена логика параметров, передаваемых ShellExec.
Добавлено: Ср дек 19, 2012 13:51
Flasher
Loopback писал(а):Перечитал несколько раз, но так и не понял.
Т.е. все команды с правильным синтаксисом должны отработать в любом случае.
Loopback писал(а):Так-то уж ни о каких? А двадцать с лишним строк сообщений об ошибках - они для красоты сделаны?
Я непосредственно о ShellExec пишу. Никаких ошибок не появляется, если команда не отрабатывает, как в приведённом выше примере.
Добавлено: Ср дек 19, 2012 14:18
Loopback
Flasher писал(а):Т.е. все команды с правильным синтаксисом должны отработать в любом случае.
Добавлю - с
формально правильным синтаксисом.
Они так и отрабатывают. Если нет - пиши, с какими проблемы, буду проверять.
Flasher писал(а):Я непосредственно о ShellExec пишу. Никаких ошибок не появляется, если команда не отрабатывает, как в приведённом выше примере.
Можно добавить сообщение об ошибке, если процесс не запустился.
Но вот, если я правильно помню, с тем же cmd.exe это не прокатит. Поскольку cmd может запуститься, но не отработать команду.
Добавлено: Ср дек 19, 2012 15:26
Flasher
Loopback писал(а):Они так и отрабатывают.
Ты же пишешь:
Loopback писал(а):Сейчас скрипт прекращает работу, если в синтаксисе команды ошибка
У меня так и происходит. Последующие команды не отрабатывают.
Loopback писал(а):Поскольку cmd может запуститься, но не отработать команду.
Не проверял (там ключ скрытия), другие программы запускал без параметров.
Добавлено: Ср дек 19, 2012 15:38
Loopback
Flasher писал(а):Ты же пишешь:
Я не вижу противоречия. Если ошибка синтаксиса - скрипт останавливается. Если формальных ошибок нет - выполняет команду.
А что ты предлагаешь? Продолжать выполнять скрипт даже после того, как в одной из команд обнаружилась ошибка?
Добавлено: Ср дек 19, 2012 15:52
Flasher
Ну, да. Ведь это отдельные команды, не зависящие друг от друга (хотя бы ShellExec).
Добавлено: Ср дек 19, 2012 16:02
Loopback
Flasher писал(а):Ну, да. Ведь это отдельные команды, не зависящие друг от друга.
Как это не зависят? Например, что-то может зависеть от IniRead, Set, SetEnv, LoadLibrary.
И потом, если есть ошибка - плагин все равно остановится и сообщит об этом. Какой смысл продолжать выполнение? Надо просто исправить ошибку.
Добавлено: Ср дек 19, 2012 16:09
Flasher
Loopback
Это если есть сообщение. А если нет? Поэтому про ShellExec и написал.
Добавлено: Чт дек 20, 2012 10:52
Loopback
Flasher
Ну, кажется причина ясна. Сообщения об ошибках появляются при запуске, но их нет при выходе. Причина - при выходе Тотал уничтожает свое окно (родительское для сообщений) раньше, чем выполняется скрипт завершения.
Попробуй тестовую версию по той же ссылке. Теперь сообщения об ошибках должны появляться в любом случае. Разумеется, при условии что ошибка входит в число тех, которые выявляются плагином.