Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Из Сом передать сообщение пользователю, Для отображения хода работы 
:(
    Опции темы
Nuzur
Дата 3.7.2006, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 4.7.2004

Репутация: нет
Всего: 5




Как лучше всего информировать пользователя о ходе роботы объекта.
Объект без оконного представления, пока что.

Если что-то предлагаете пожалуйста с маленьким примерчиком smile 


--------------------
Never again...
PM MAIL   Вверх
Dray
Дата 3.7.2006, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Материалист
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 7.10.2003
Где: г. Всеволожск

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



ИМХО через события. Которое будет генерироваться при каждом завершении важного действия, а также информировать о начале другова. Информацию передавать через параметры. 


--------------------
忍者

user posted image
PM MAIL   Вверх
Nuzur
Дата 3.7.2006, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 4.7.2004

Репутация: нет
Всего: 5



Тоесть через OUT параметры? Я правильно понял?
Но здесь суть в том что объект то на сокетах и машины могут быть разнесены в пространстве а знать об ошибке и о ее типе должны оба. Кроме того не на консоль же выводить результаты работы.
Как можно использовать стандартные сообщения винды в дуже MessageBox() ? 


--------------------
Never again...
PM MAIL   Вверх
Dray
Дата 3.7.2006, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Материалист
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 7.10.2003
Где: г. Всеволожск

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



Цитата(Nuzur @  3.7.2006,  17:32 Найти цитируемый пост)
Тоесть через OUT параметры?

Помоему в событиях IN не бывает.
Цитата(Nuzur @  3.7.2006,  17:32 Найти цитируемый пост)
Но здесь суть в том что объект то на сокетах и машины могут быть разнесены в пространстве а знать об ошибке и о ее типе должны оба.

А в чем проблема? Как только в COM'е произошла ошибка генерируется событие в параметры подставляется информация о ней. Это как вызвать функцию-обработчик из клиента. В приложении-клиенте можно выполнить любые действия в ответ на событие. Ведь код события пишется вручную у клиента.
Цитата(Nuzur @  3.7.2006,  17:32 Найти цитируемый пост)
Кроме того не на консоль же выводить результаты работы.

На консоль же не обязательно.
 


--------------------
忍者

user posted image
PM MAIL   Вверх
Dart
Дата 5.7.2006, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 26.6.2006
Где: Саратов, РФ

Репутация: нет
Всего: 2



Для того, чтобы com объект передавал параметры приложению пользователя, проще всего сделать в этом приложении возвратный интерфейс для нотификации и сообщить адрес этого интерфейса com-объекту. Делается это примерно так:
Код

class СNotify : public CCmdTarget
{
protected:
    DECLARE_INTERFACE_MAP()

    BEGIN_INTERFACE_PART(MethodForNotify, INotifyInterface)
        STDMETHOD_(void, Method1)();
        STDMETHOD_(void, Method2)();
    END_INTERFACE_PART(MethodForNotify)
}


далее описываешь в .cpp
Код

ULONG FAR EXPORT СNotify::XMethodForNotify::Method1()
{
    return S_OK;
}

Далее в приложении пользователя создаешь объект CNotify и передаешь его адрес com объекту.
Все smile 
Работать будет железно!
А вообще почитай про INTERFACE_MAP в MSDN - там все хорошо расписано smile
Вот тебе адрес в MSDN: ms-help://MS.MSDNQTR.v80.en/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_vclib/html/19d946ba-beaf-4881-85c6-0b598d7f6f11.htm 
--------------------
ЦитатаЛюблю смотреть, как другие работают
 Дж. К. ДжеромСайт: www.ecosigma.ruПочта: [email protected] 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: COM/DCOM/ActiveX/ATL/CORBA | Следующая тема »


 




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


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

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