Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
DJoRDJ734
0 / 0 / 0
Регистрация: 08.02.2013
Сообщений: 9
1

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

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

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

Запуск второго приложения и ожидание завершения должны производиться с использованием функций API.
0
Вложения
Тип файла: zip OS_Lab4_v1.zip (2.12 Мб, 20 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2013, 22:12
Ответы с готовыми решениями:

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

Передать имена файлов в простейших случаях можно 2-мя способами - параметрами ком.строки запуска консольного процесса или через StdIn - стандартный канал ввода , откуда консольное приложение Read[Ln]-вызовами вычерпает то что ему передано, как если бы это сделал пользователь набирая имена на клавиатуре.
0
13.03.2013, 00:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2013, 00:07

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

Невозможно создать консольное приложение "без консоли"
Добрый день! Подскажите, пожалуйста, есть ли такая возможность в Embarcadero RAD Studio (C++...

Приложение дает ошибку на устройстве, в в эмуляторе всё работает
Всем добрый день, При запуске приложения на устройстве, оно выдает ошибку сразу же "Приложение...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru