Модераторы: Partizan, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Console Forn + Windows Form, Вызов консоли из WF приложения 
:(
    Опции темы
arilou
Дата 16.2.2006, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 21
Всего: 61



VisualProgrammerNET,

Опиши задачу по-подробнее. Думаю, решение мы тебе найдем.


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
VisualProgrammerNET
Дата 16.2.2006, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почётный халявщик
**


Профиль
Группа: Участник
Сообщений: 461
Регистрация: 30.10.2005
Где: Зеленоград

Репутация: 4
Всего: 6



Итак, значица...

В солюшене находятся: консольное (вспомогательное, для трассировки)(А) и виндоус-формс (Б) проекты. Во время действия Б, она передаёт открытому методу в А команду, вследствие чего в консоли А повляется новая текстовая строка.

Пример.
В приложении Б выполняется метод ObjectMove, по перемещению некого объекта. В реализации ObjectMove имеется строка, которая выполняет метод AddMessage из приложения А. Метод AddMessage заключается в том, что на консоль выводится строка типа "Object in B has is being moved".

Собсно, вот что надобно получить. Может есть какие-нибудь другие методы? Я просто не в курсе, можно ли из виндового приложения вызывать консоль... smile


--------------------
3 ГОДА НА user posted image 
PM MAIL ICQ   Вверх
Exception
Дата 16.2.2006, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



А что мешает реализовать класс DiagnosticsHelper в консольном приложении, который имеет статические методы типа WriteMessage, записывающие в консоль сообщения, а потом добавить ссылку на это консольное приложение в Windows-приложении и использовать этот DiagnosticsHelper?
PM   Вверх
arilou
Дата 17.2.2006, 02:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 21
Всего: 61



VisualProgrammerNET,
Вопрос 1: а почему 2 отдельных приложения. В описанном тобой сценарции я не вижу такой необходимости. Создаешь консольное приложение, которое открывает окно, и все будет ок.

Вопрос 2: желание выводить в консоль вызвано ностальгией по ДОСу? smile ИМХО, удобнее выводить в текстбокс, который открывается в отдельном окне при старте твоей программы.

Цитата(Exception @ 16.2.2006, 21:54 Найти цитируемый пост)
А что мешает реализовать класс DiagnosticsHelper в консольном приложении, который имеет статические методы типа WriteMessage, записывающие в консоль сообщения

Ты знаешь, как в неконсольном приложении открыть окно консоли?


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
mr.DUDA
Дата 17.2.2006, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(Exception @ 16.2.2006, 20:54 Найти цитируемый пост)
А что мешает реализовать класс DiagnosticsHelper в консольном приложении, который имеет статические методы типа WriteMessage, записывающие в консоль сообщения, а потом добавить ссылку на это консольное приложение в Windows-приложении и использовать этот DiagnosticsHelper?

Никакого смысла в этом нет, т.к. на тип приложения (Windows application) наличие ещё одного референса никак не повлияет, а вызовы Console.WriteXXX ни к чему не приведут. Кроме того, добавлять в exe референс на exe можно только начиная с Framework 2.0

Цитата(arilou @ 17.2.2006, 01:11 Найти цитируемый пост)
как в неконсольном приложении открыть окно консоли

да здравствует WinAPI ! с его помощью мы сотворим маленькое чудо smile
Код
using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;

namespace TestWindowsApplication
{
    public class Form1 : Form
    {
        static bool console_exists = false;

        [DllImport("Kernel32.dll")]
        extern static bool AllocConsole();

        private void button1_Click(object sender, EventArgs e)
        {
            if(!console_exists)
            {
                AllocConsole();
                console_exists = true;
            }

            Console.WriteLine("AAA");
        }



--------------------
user posted image
PM MAIL WWW   Вверх
arilou
Дата 17.2.2006, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 21
Всего: 61



Цитата(mr.DUDA @ 17.2.2006, 08:56 Найти цитируемый пост)
да здравствует WinAPI ! с его помощью мы сотворим маленькое чудо

О чудо! Я знал, что WinAPI нам точно поможет, но ты привлек его! smile


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
VisualProgrammerNET
Дата 17.2.2006, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почётный халявщик
**


Профиль
Группа: Участник
Сообщений: 461
Регистрация: 30.10.2005
Где: Зеленоград

Репутация: 4
Всего: 6



Насколько я понял из последних тем на форуме, WinAPI может всё smile Околотемный вопрос: где можно его изучить? Книжицы есть какие-нибудь?


--------------------
3 ГОДА НА user posted image 
PM MAIL ICQ   Вверх
mr.DUDA
Дата 17.2.2006, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



См. в разделе по С++


--------------------
user posted image
PM MAIL WWW   Вверх
arilou
Дата 20.2.2006, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 21
Всего: 61



VisualProgrammerNET, да, но главное - не изборетать велосипед. Для этого надо знать более 6000 классов .NET framework smile
Добавлено @ 15:07
Так что выбирай, что лучше изучать более плотно smile


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0589 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.