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

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

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

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

Запуск второго приложения и ожидание завершения должны производиться с использованием функций API.
Вложения
Тип файла: zip OS_Lab4_v1.zip (2.12 Мб, 33 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.03.2013, 22:12
Ответы с готовыми решениями:

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

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

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

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

9
3530 / 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
3530 / 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
3530 / 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
3530 / 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
3530 / 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
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.03.2013, 00:07
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­­­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее: На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru