|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
Здорова народ! В общем, ситуация следующая: Есть некий program.exe, который ведет диалог с пользователем в режиме запрос-ответ (то есть, waitForFinished - не вариант). К этой программе нужно прикрутить некий интерфейс, который будет получать из текстбоксов необходимые данные, сообщать их program.exe и делать что-то с полученным оттуда выводом. В настоящий момент сие чудо выглядит так: Код: plaintext 1. 2. 3. 4. 5. 6.
В выводе получаем пустую строку, хотя program.exe при запуске выводит "Hello!" Как быть? Как правильно пользоваться этой штукой? Заранее спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 00:57 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
Он в поток ошибок что-то выводит наверное. Посмотри QProcess::StandardError ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 02:10 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
mayton, нет, тоже ничего, уже смотрел ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 02:36 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
Через какой API оно выводит "Hello"? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 10:33 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
bananatarakota Есть некий program.exe, И свяжите с Qt. Вообще, какой смысл вести диалог сразу и в консольной и в ГУИ на одну и туже тему? Или вы хотите заменить диалог консольной на диалог в ГУИ? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 10:40 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
Идет попытка построить свой IPC. КМК надо было сразу начинать D-Bus и ему подобных протоколов (только под Windows). И тогда интеграция двух приложений прошла-бы красиво и бесшовно. Или на сетевых сокетах. Вобщем если автор - создатель program.exe и этого чуда то ему надо думать в этом направлении. Из говна и палок STDOUT/STDIN хорошая дуплексная интеграция не получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 12:52 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
maytonSTDOUT/STDIN хорошая дуплексная интеграция не получается. "Чо?" (с) Туева хуча консольных утилит имеют вполне вменяемые гуевые фронтенды. Руки просто надо иметь на правильном месте. PS: ТС не говорил, что program.exe - консольная. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 13:17 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov PS: ТС не говорил, что program.exe - консольная. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 13:22 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
PetroNotC Sharpа какие варианты могут быть? В сабже Qt, значит гуй. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 14:09 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Я так прнял, у него сторонняя консольная утилита и сам проект ГУЙ над консольной в Qt. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 14:46 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, Да, утилита консольная, хочу с ней общаться от лица гуя, чтобы было все по красоте ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 15:41 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, Да, именно Хочу чтобы вместо консоли можно было с ним общаться через гуй ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 15:46 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
Edit: работаем под линуксом ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 15:47 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
mayton, Stdout ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 15:51 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
bananatarakota PetroNotC Sharp, Да, именно Хочу чтобы вместо консоли можно было с ним общаться через гуй 22066654 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 16:12 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, Смысл в том, что по тз нужно сдавать консольное приложение, а общаться с ним для тестирования удобнее через гуй ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 16:18 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
bananatarakota, сделайте консольку тестовую за 5 минут. И пробуйте подключить ее. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 16:21 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, С консолькой проблем нет, она прекрасно работает и даже сдана Заказчик ее использует роботом и ему удобно, а нам ее нужно юзать через гуй и нам не удобно ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 16:32 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, Заказчик подготавливает файл с вводом, и у него все прекрасно. Написано на c++ без qt, опять же по требованию заказчика А теперь я хочу прикрутить к этому qt и выполнять по шагам, генерируя запросы на каждый чих ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 16:35 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
bananatarakota, Ты не понял. Программист? Если да, то ты обязан уметь готовить тестовую площадку на своем личном компе. Установить бд, ось, виртуалку, облако и т.д. Вот тут я предлагаю познакомиться с консольными приложениями. У меня подозрения что ты их никогда не писал. Раз спорим из за 5 мин. работы. Имхо, удачи! ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 19:26 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, Спасибо, конечно, но по-моему это ты меня не понял У меня консольное приложение уже есть, не смотря на то что .exe Проблема при подключении гуя уже к нему ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 19:38 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
bananatarakotaПроблема при подключении гуя уже к нему Начни с локализации проблемы: подключи свой гуй к заведомо работающему приложению типа cat или ls. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 19:40 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Так, уже что-то проясняется При подключении к ls есть хотя бы какой-то вывод, но вызывается он, похоже, из какой-то волшебной сгенерированной директории, и моего экзешника там конечно же нет Значит следующая задача момента - это научиться ходить по директориям. Я так понимаю, это должно быть связано с функцией setAtguments(), которой сейчас будем учиться пользоваться (Если все получится, куплю файерберд) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 21:21 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
bananatarakota, Ну вот, а вы говорите что прога есть, и консольные программы не требуют изучения. Изучайте. Как чужие типа cat так и самолично написанные. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 21:30 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
Не считаю целесообразным долго обсуждать отсутствующий код. Автор. Нужны сорцы и условия воспроизведения дефекта. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 22:02 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
bananatarakota но вызывается он, похоже, из какой-то волшебной сгенерированной директории, и моего экзешника там конечно же нет А в документации к QProcess пишут про рабочую директорию, не? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 22:07 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
mayton, В общем, краткое содержание общей картины Для универа был написан код на С++, который работает через консольку. Получает на вход строки типа "прочесть_альбом", "удалить фотографию" и так далее. Получает с консоли ввод и отправляет на консоль вывод, вроде "фото удалено" и "альбом добавлен". Теперь, ввиду расширения горизонтов, я хочу прикрутить к этому коду гуй под линукс, который будет работать вместо консоли, а именно выписывать необходимые команды и анализировать вывод. После последнего эксперимента(попытаться вместо моей замечательной программы вызвать ls) выяснилось, что мое замечательное приложение сначала нужно найти, ибо гуй похоже запускается из какой-то своей сгенерированной директории, поэтому собственно ничего и не выходит. program.exe лежит по адресу "~/Desktop/qtwork/collections", там же где и все остальные имеющие отношение к делу файлы. Далее предоставляю имеющийся код в полном, так сказать, объеме: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91.
Вот собственно такая вот ботва, посоветуйте кто что может, добрые люди ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 22:24 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
ёёёёё, Вообще пишут, да. Можно даже поставить любой свой QProcessEnvironment, но он все равно создает свою директорию, из которой не хочет никуда выходить, а запустить в уже существующей либо нельзя, либо я не нашел как, и тогда каюсь ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 22:35 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
Совсем в пиковом случае, можно конечно весь этот program.exe конечно переписать в гуй, возложить на него все рассчеты и больше не трахаться, благо у меня на руках есть исходники и того и другого. Но хочется все-таки освоить машинку. Если, конечно, такая фича вообще есть и предусмотрена, о чем пока никто ничего не знает. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 22:42 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
bananatarakota ёёёёё, Вообще пишут, да. Можно даже поставить любой свой QProcessEnvironment, но он все равно создает свою директорию, из которой не хочет никуда выходить, а запустить в уже существующей либо нельзя, либо я не нашел как, и тогда каюсь Поставить кьют вместе с исходниками и просто посмотреть в коде, как сделано? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 23:04 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
ёёёёё, Имеешь в виду почитать сами исходники кьюта в поисках того что надо? Ну, если ситуация окажется совсем безнадежной, то пойду этим заниматься Но пока что у меня есть надежда на то, что кто-то уже с этим сталкивался) Хьюман интерракшн все-таки интереснее, чем исходники листать, во всяком случае пока хд ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 23:06 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
bananatarakota PetroNotC Sharp, С консолькой проблем нет, она прекрасно работает и даже сдана Заказчик ее использует роботом и ему удобно, а нам ее нужно юзать через гуй и нам не удобно Если есть исходники - оформи нужный функционал в виде библиотеки. Например, динамической (dll/so), или статической. Зачем мучиться. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 23:10 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
bananatarakotaХьюман интерракшн все-таки интереснее Это называется "паразитизм". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 23:13 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
bananatarakota почитать сами исходники кьюта в поисках того что надо? Ну, если ситуация окажется совсем безнадежной, то Я в первую очередь такое делаю, как минимум ради любопытства. И сразу понятно, какие ограничения кроссплатформенный фичи по сравнению с платформозависимыми реализациями. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 23:14 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
Я вижу, "тут никто не знает Delphi". И это правильно, QT здесь не нужен. Для того, чтобы вести с консольным приложением такой диалог, оно должно вызывать flush для stdout после каждого своего высказывания. Вот, например, хорошее, годное консольное приложение на голом С, которое как раз это и делает: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Теперь вызывающая сторона: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2020, 02:29 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
pizmon, ужос. Маленькие CGI - аппликации, запускаемые в Qt - сервере... :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2020, 05:36 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
bananatarakota Код: plaintext 1. 2. 3.
Искать разницу между твоим непонятным.exe и заведомо рабочими ls, nano,.... Возвращаемся на 1 страницу - пиши консольную и тестируй. Либо как сказали выше. Выполни проект на заранее рабочей утилите. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2020, 07:56 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
Вот кстати стандартная утилита ftp вызывает (void)fflush(cout) перед тем, как выдать свой prompt. Поэтому ей можно управлять через такую механику. Вот на ней можно отлаживаться, она точно работает! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2020, 12:50 |
|
QT и запуск сторонних приложений
|
|||
---|---|---|---|
#18+
Всем большое спасибо за ваше потраченное время (и нервы) :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2020, 15:21 |
|
|
start [/forum/topic.php?all=1&fid=57&tid=2017487]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
others: | 9ms |
total: | 167ms |
0 / 0 |