![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Artiom |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1031 Регистрация: 11.3.2003 Где: Минск\Баку Репутация: нет Всего: 17 |
собственно сабж. Как по условию завершить выполнение программы? Конечно, можно поставить условие типа if(pr){...}, но мне это очень неудобно.
-------------------- Если тебя жизнь трахает, значит, ты ещё живой |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Application.Exit( );
-------------------- ![]() |
|||
|
||||
| arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 21 Всего: 61 |
Application.Exit подойдет?
|
|||
|
||||
| Artiom |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1031 Регистрация: 11.3.2003 Где: Минск\Баку Репутация: нет Всего: 17 |
это я видел. у меня консольное приложение, но никакого влияния Application.Exit() не оказывает. Все выполняется как и раньше
-------------------- Если тебя жизнь трахает, значит, ты ещё живой |
|||
|
||||
| arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 21 Всего: 61 |
А ты попробуй Application.Run использовать до того, как вызываешь Application.Exit
|
|||
|
||||
| Artiom |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1031 Регистрация: 11.3.2003 Где: Минск\Баку Репутация: нет Всего: 17 |
поставил Application.Run() в начале Main() - програма выполняется только до Application.Run() а затем запускается консольное окно и виснет.
-------------------- Если тебя жизнь трахает, значит, ты ещё живой |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Тогда можешь такое использовать: System.Diagnostics.Process.GetCurrentProcess().Kill();
-------------------- ![]() |
|||
|
||||
| Artiom |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1031 Регистрация: 11.3.2003 Где: Минск\Баку Репутация: нет Всего: 17 |
Спасибо. Это работает. Хотя кажется немного странным убивать процесс здесь.
-------------------- Если тебя жизнь трахает, значит, ты ещё живой |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Нисколько. Если программа содержит процедуру, решающую "завершать программу или нет?", то существует два пути. Либо эта процедура приведёт к нормальному выходу из ф-ции Main(), либо нужно убивать текущий процесс (или текущий поток, если в программе исполняется только 1 поток). Первый вариант вы можете продумать сами, это зависит целиком от вашей фантазии как разработчика. Второй вариант - один, но есть много способов его реализовать: 1) убиваем все потоки по одному (соответственно, нужно перечислить все исполняющиеся потоки) 2) убиваете все потоки сразу, вызвав Process.Kill 3) с помощью объектов синхронизации (мьютексы, события) сигнализируете всем потокам, что пора закругляться, и они убивают сами себя (выход из основной ф-ции потока) -------------------- ![]() |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |