![]() |
|
|
|||||
![]() Во FlashDevelop-е в настройках проекта в Pre-Build Command Line пишу
При этом виснет весь девелоп до перезагрузки. Никаких окон не появляется, но должно появляться консольное окно (это весь функционал exe-программы). Почему так, как побороть?
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
|
|||||
Modus ponens
|
А Вондовс понимает что-нть типа
В смысле, чтобы не в том же процессе запускался, а в дочернем / вообще в отдельном.
__________________
Hell is the possibility of sanity |
|
|||||
Путем различных поисков и экспериментов достигнуто следующее:
Содержимое батника: 2я строка при этом убивает 1й процесс, а 2й, свежезапущенный, остается И особое внимание на то, что путь должен быть абсолютный, а не относительный, т.к. батник не знает с какой позиции ему начинать смотреть папки. В настройках девелопа На выходе: девелоп не виснет, но ждет окончания работы прогарммы exe запускается и сам по себе работает корректно Компиляция не происходит, в output: Running process: ExampleForBat.as3proj" -ipc b9d2b83d-65a5-43a1-8271-82b35178de0a -version "4.6.0; 3.1" -compiler "D:\Program Files (x86)\FlashDevelop\Tools\flexsdk" -notrace -library "D:\Program Files (x86)\FlashDevelop\Library" Building ExampleForBat Running Pre-Build Command Line... cmd: ExampleForBat\bin\Debug\bat.bat ExampleForBat>start ExampleForBat\bin\Debug\ExampleForBat.exe ExampleForBat>taskkill /IM cmd.exe /f “бЇҐи*®: Џа®жҐбб "cmd.exe", б Ё¤Ґ*вЁдЁЄ*в®а®¬ 5896, Ўл« §*ўҐаиҐ*. Build halted with errors. Done(1) В общем вот такая петрушка. На этом и застопорился. Может кто еще что подскажет? ЗЫ. Как в output-е избавиться от нечитаемых символов, типа бЇҐ
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
|
|||||
listener
|
А зачем консоль бьешь? Не надо. Оно само отвалится, если ехе - консольный и корректно отработал.
Насчет путей не уверен, но консоль запускаться должна с CurrentDir=батникDir, т.е в папке самого батника. ЗЫ. В пребилде бить плеер хорошо, ибо подвисает при дебуге нередко. Последний раз редактировалось alexcon314; 28.02.2012 в 13:42. |
|
|||||
Modus ponens
|
Помоему в Виндовсе чтобы отобразить текущую директорию %PWD% - но может как-то не совсем так
![]() Т.е. посмотри откуда FD батник запускает, не факт, что он его из его же директории запускает. Ну и как уже было сказано, если ExampleForBat.exe заканчивает работу со статусом 0, то он как бы сам и закроется. Помоему, start /B - если окошко консоли мешает. Т.е. так оно запустится без того, чтобы создавать новое окно. chcp <кодировка> - на сколько я знаю, меняет кодировку в консоли.
__________________
Hell is the possibility of sanity |
|
||||||
Цитата:
Цитата:
Цитата:
![]() Цитата:
Цитата:
Сейчас поменял пути и атрибут B при start-е согласно рекомендациям. Поведение следующее (кстати, если команду из пребилда перенести в постбилд, ничего не меняется): Запускается батник, запускается приложение, консоль остается висеть и ждет команды, в output девеолпа выводится сообщение, что компиляция прошла успешно и все замирает. Откомпиленный проект в дебаге открывается только после закрытия консоли (способ завершения значения не имеет)
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
|
|||||
listener
|
Чтобы консоль закрыть можно в конец батника добавить exit.
Провел у себя такой тест. В папку (где лежит .as3proj) с проектом вложил батник и myExe.exe. В пребилд вписал start.bat. Результат: ехе стартует, консоль не показвается, в процессах ее нету. Но пока не закроешь ехе билд не продолжается. В постбилд вписал start.bat. Результат: ехе стартует, консоль не показвается, в процессах ее нету. Билд суксессфул.Но пока не закроешь ехе плеер не запускается. Ну, хоть с путями все понятно. Собственно, вместо myExe можно запускать для наглядности calc или notepad: Результат тот же. Проблема действительно имеет место быть. TanaTiX, сори, сразу не въехал. В чем может быть причина? Надо посмотреть сорсы FD. Внешне похоже на то, что пост/пребилды запускаются в отдельном потоке, к которому джойнится до его завершения основной поток, тот, в которм выполняется компиляция и запуск плеера. Вспомогательный поток для пре/постбилда имеет свойство завершаться после завершения всех запущенных им команд, будь то батник или ехе. С одной стороны вроде бы логично, с другой - вот такие траблы. Добавлено через 5 часов 21 минуту Ок. В сорсах бегло найти ничего толкового не удалось, да может это и не FD проблема, а fcsh. Решение. Расположение файлов .bat и .exe как я указал выше. Добавим туда же, в папку проекта start.vbs ' start.vbs Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run "myExe.exe", 1, false Билдим. Путь к ехе можно указать полный и положить его куда хочешь. Последний раз редактировалось alexcon314; 29.02.2012 в 13:59. |
|
|||||
Modus ponens
|
Раз уж тут речь зашла о VB... а что будет если FD запустить из под Cygwin? Может так получится, что для него шеллом будет bash, а не cmd?
![]()
__________________
Hell is the possibility of sanity |
![]() |
![]() |
Часовой пояс GMT +4, время: 09:55. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|