0 / 0 / 0
Регистрация: 08.02.2013
Сообщений: 9
|
|
1 | |
Граф. приложение+библиотеки+консольное приложение! Не работает программа без использования консоли. Если использую, то всё прекрасно работает.12.03.2013, 22:12. Показов 2519. Ответов 9
Метки нет (Все метки)
Ребята нужна помощь,все вроде сделал, но приложение начинает зависать при запуске без использования консоли, если использую ее то все работает..
У меня в приложении реализован целочисленный калькулятор с использованием библиотек dll, вот собственно условие что бы было яснее: Реализовать приложение, состоящее из двух выполняемых файлов и работающее по следующему алгоритму: 1 Первое приложение, имеющее графический интерфейс пользователя, должно позволять пользователю ввести исходные данные для обработки*. 2 После ввода данных пользователем и нажатия кнопки «Выполнить» приложение должно сохранить введенные данные в файл ввода, запустить второе приложение и остаться в режиме ожидания завершения работы второго приложения. 3 Второе приложение, которое должно быть реализовано как консольное приложение, должно считать данные из файла ввода, обработать эти данные с помощью любого из плагинов (библиотек dll), использовавшихся в предыдущих лабораторных работах, сохранить результат обработки в файл вывода и завершиться. Подключение библиотеки плагина должно быть осуществлено методом привязки к программе (статическое подключение). 4 В первом приложении должна быть возможность выбора отображения или не отображения консоли второго приложения при его запуске. 5 Первое приложение, дождавшись завершения консольного приложения, должно отобразить результат из файла вывода и перейти в режим, описанный в пункте 1. Запуск второго приложения и ожидание завершения должны производиться с использованием функций API.
0
|
12.03.2013, 22:12 | |
Ответы с готовыми решениями:
9
Консольное приложение C++ без использования vcredist Какой вывод если приложение без пула работает быстрее? Консольное приложение C++ не работает Некорректно работает консольное приложение |
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
|
12.03.2013, 22:24 | 2 |
Как это "без использования", если по заданию требуется использовать именно консоль ?
И за коим в 1-ом (GUI) проекте статически импортированы библиотеки, с которыми по заданию должно работать именно 2-е (консольное) приложение ?
0
|
0 / 0 / 0
Регистрация: 08.02.2013
Сообщений: 9
|
|
12.03.2013, 22:40 [ТС] | 3 |
4 В первом приложении должна быть возможность выбора отображения или не отображения консоли второго приложения при его запуске.
0
|
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
|
12.03.2013, 23:03 | 4 |
Ну это же отнюдь не означает "без использования консоли" ..
Предположу что консольный процесс со скрытой консолью бесконечно долго "висит" на строке writeln(text1,' ',text2); соответственно он не завершается и 1-е приложение при этом висит в вечном ожидании
0
|
0 / 0 / 0
Регистрация: 08.02.2013
Сообщений: 9
|
|
12.03.2013, 23:28 [ТС] | 5 |
0
|
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
|
12.03.2013, 23:33 | 6 |
Проверить предположение можно так - после старта консольный процесс вызовом GetConsoleWindow получает хендл своего окна и вызовом GetWindowPlacement получает состояние видимости окна.
Если окно скрыто, то консольные вызовы Read/WriteLn-вызовы не выполнять. Добавлено через 4 минуты В этом, в этом - даже не сомневайся. Самая последняя строчка - readln; Какой святой дух нажмет для консольного приложения ENTER чтобы продолжить выполннение, если консоль не видна и посему не имеет фокуса ввода ? Программно же ты ничего в StdIn консоли не посылаешь ..
0
|
0 / 0 / 0
Регистрация: 08.02.2013
Сообщений: 9
|
|
12.03.2013, 23:44 [ТС] | 7 |
0
|
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
|
12.03.2013, 23:50 | 8 |
0
|
0 / 0 / 0
Регистрация: 08.02.2013
Сообщений: 9
|
|
12.03.2013, 23:54 [ТС] | 9 |
0
|
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
|
13.03.2013, 00:07 | 10 |
С другой стороны, это тоже не есть гут.
У тебя напрочь отсутствует возможность передачи консольному процессу информации об именах вх. и вых. файлов, которые 1-е приложение могло бы задавать прямо в ходе работы, например, запросив у пользователя. Хоть это явно и не оговаривается в задании, но устранение зависимости от предопределенных имен файлов выглядит вполне логичным с т.з. учебной цели. Передать имена файлов в простейших случаях можно 2-мя способами - параметрами ком.строки запуска консольного процесса или через StdIn - стандартный канал ввода , откуда консольное приложение Read[Ln]-вызовами вычерпает то что ему передано, как если бы это сделал пользователь набирая имена на клавиатуре.
0
|
13.03.2013, 00:07 | |
13.03.2013, 00:07 | |
Помогаю со студенческими работами здесь
10
Консольное приложение не работает в Windows Forms Не работает консольное приложение. Олимпиадная задача Консольное приложение не правильно работает под Windows 7 Консольное приложение smartmontools и как оно работает Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |