Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 08.02.2013
Сообщений: 9
1

Граф. приложение+библиотеки+консольное приложение! Не работает программа без использования консоли. Если использую, то всё прекрасно работает.

12.03.2013, 22:12. Показов 2429. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребята нужна помощь,все вроде сделал, но приложение начинает зависать при запуске без использования консоли, если использую ее то все работает..
У меня в приложении реализован целочисленный калькулятор с использованием библиотек dll, вот собственно условие что бы было яснее:
Реализовать приложение, состоящее из двух выполняемых файлов и работающее по следующему алгоритму:
1 Первое приложение, имеющее графический интерфейс пользователя, должно позволять пользователю ввести исходные данные для обработки*.
2 После ввода данных пользователем и нажатия кнопки «Выполнить» приложение должно сохранить введенные данные в файл ввода, запустить второе приложение и остаться в режиме ожидания завершения работы второго приложения.
3 Второе приложение, которое должно быть реализовано как консольное приложение, должно считать данные из файла ввода, обработать эти данные с помощью любого из плагинов (библиотек dll), использовавшихся в предыдущих лабораторных работах, сохранить результат обработки в файл вывода и завершиться. Подключение библиотеки плагина должно быть осуществлено методом привязки к программе (статическое подключение).
4 В первом приложении должна быть возможность выбора отображения или не отображения консоли второго приложения при его запуске.
5 Первое приложение, дождавшись завершения консольного приложения, должно отобразить результат из файла вывода и перейти в режим, описанный в пункте 1.

Запуск второго приложения и ожидание завершения должны производиться с использованием функций API.
Вложения
Тип файла: zip OS_Lab4_v1.zip (2.12 Мб, 33 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.03.2013, 22:12
Ответы с готовыми решениями:

Консольное приложение C++ без использования vcredist
Доброго времени суток! Написал маленькую программулинку в VS2012, но для запуска на старых машинах...

Какой вывод если приложение без пула работает быстрее?
Столкнулся с проблемой. Приложение ASP.NET 1.1 медленно работает с БД SQL 2000. Проверка на скорую...

Консольное приложение C++ не работает
Всем доброго времени суток. вот начал изучать язык C++. попробовал написать простейшее...

Некорректно работает консольное приложение
Начал изучать язык с++ и столкнулся с такой вот бедой, переписал код из книги ( калькулятор ) при...

9
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
12.03.2013, 22:24 2
Цитата Сообщение от DJoRDJ734 Посмотреть сообщение
без использования консоли
Как это "без использования", если по заданию требуется использовать именно консоль ?

И за коим в 1-ом (GUI) проекте статически импортированы библиотеки, с которыми по заданию должно работать именно 2-е (консольное) приложение ?
0
0 / 0 / 0
Регистрация: 08.02.2013
Сообщений: 9
12.03.2013, 22:40  [ТС] 3
Цитата Сообщение от mss Посмотреть сообщение
Как это "без использования", если по заданию требуется использовать именно консоль ?

И за коим в 1-ом (GUI) проекте статически импортированы библиотеки, с которыми по заданию должно работать именно 2-е (консольное) приложение ?
4 В первом приложении должна быть возможность выбора отображения или не отображения консоли второго приложения при его запуске.
0
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
12.03.2013, 23:03 4
Цитата Сообщение от DJoRDJ734 Посмотреть сообщение
выбора отображения или не отображения консоли второго приложения при его запуске
Ну это же отнюдь не означает "без использования консоли" ..

Предположу что консольный процесс со скрытой консолью бесконечно долго "висит" на строке
writeln(text1,' ',text2);
соответственно он не завершается и 1-е приложение при этом висит в вечном ожидании
0
0 / 0 / 0
Регистрация: 08.02.2013
Сообщений: 9
12.03.2013, 23:28  [ТС] 5
Цитата Сообщение от mss Посмотреть сообщение
Ну это же отнюдь не означает "без использования консоли" ..

Предположу что консольный процесс со скрытой консолью бесконечно долго "висит" на строке
writeln(text1,' ',text2);
соответственно он не завершается и 1-е приложение при этом висит в вечном ожидании
к сожалению не в этом дело, висит дальше(
0
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
12.03.2013, 23:33 6
Проверить предположение можно так - после старта консольный процесс вызовом GetConsoleWindow получает хендл своего окна и вызовом GetWindowPlacement получает состояние видимости окна.
Если окно скрыто, то консольные вызовы Read/WriteLn-вызовы не выполнять.

Добавлено через 4 минуты
Цитата Сообщение от DJoRDJ734 Посмотреть сообщение
не в этом дело
В этом, в этом - даже не сомневайся.

Самая последняя строчка - readln;

Какой святой дух нажмет для консольного приложения ENTER чтобы продолжить выполннение, если консоль не видна и посему не имеет фокуса ввода ? Программно же ты ничего в StdIn консоли не посылаешь ..
0
0 / 0 / 0
Регистрация: 08.02.2013
Сообщений: 9
12.03.2013, 23:44  [ТС] 7
Цитата Сообщение от mss Посмотреть сообщение
Проверить предположение можно так - после старта консольный процесс вызовом GetConsoleWindow получает хендл своего окна и вызовом GetWindowPlacement получает состояние видимости окна.
Если окно скрыто, то консольные вызовы Read/WriteLn-вызовы не выполнять.

Добавлено через 4 минуты


В этом, в этом - даже не сомневайся.

Самая последняя строчка - readln;

Какой святой дух нажмет для консольного приложения ENTER чтобы продолжить выполннение, если консоль не видна и посему не имеет фокуса ввода ? Программно же ты ничего в StdIn консоли не посылаешь ..
Все решилось удалением последнего readln в проекте консоли. Спасибо огромное.
0
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
12.03.2013, 23:50 8
Цитата Сообщение от DJoRDJ734 Посмотреть сообщение
удалением последнего readln
Почему только последнего ?
Все удаляй.
0
0 / 0 / 0
Регистрация: 08.02.2013
Сообщений: 9
12.03.2013, 23:54  [ТС] 9
Цитата Сообщение от mss Посмотреть сообщение
Почему только последнего ?
Все удаляй.
Хорошо. Еще раз спасибо
0
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
13.03.2013, 00:07 10
Цитата Сообщение от DJoRDJ734 Посмотреть сообщение
Хорошо
С другой стороны, это тоже не есть гут.

У тебя напрочь отсутствует возможность передачи консольному процессу информации об именах вх. и вых. файлов, которые 1-е приложение могло бы задавать прямо в ходе работы, например, запросив у пользователя.

Хоть это явно и не оговаривается в задании, но устранение зависимости от предопределенных имен файлов выглядит вполне логичным с т.з. учебной цели.

Передать имена файлов в простейших случаях можно 2-мя способами - параметрами ком.строки запуска консольного процесса или через StdIn - стандартный канал ввода , откуда консольное приложение Read[Ln]-вызовами вычерпает то что ему передано, как если бы это сделал пользователь набирая имена на клавиатуре.
0
13.03.2013, 00:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.03.2013, 00:07
Помогаю со студенческими работами здесь

Консольное приложение не работает в Windows Forms
Я брал стандартнейший пример по асинхронному TCP-трансиверу. До недавних пор разбирался с клиентом,...

Не работает консольное приложение. Олимпиадная задача
Доброго времени суток всем! Написал консольное приложение для решения олимпиадной задачи по...

Консольное приложение не правильно работает под Windows 7
Я создал консольное приложение в VS 2017 (Windows 10). Скомпилировал его в release и скинул...

Консольное приложение smartmontools и как оно работает
Всем привет. Вопрос к тем кто может знаком с данной программой и ее кодом. Могли бы подсказать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru