Форум программистов, компьютерный форум, киберфорум
C/C++
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C/C++ Чтобы Word не спрашивал лишнего Проблема такая. Я создаю Word-документ с помощью сервера автоматизации. Документ показывается. Возможно, это совсем не то, что нужно было пользователю, и он конечно вправе этот документ закрыть. Но при этом Word спрашивает, "А не сохранить ли нам его?", что немного путает и раздражает. С другой стороны, пользователь начинает с документом работать. Что-то менять. Значит документ чего-то стоит.... https://www.cyberforum.ru/ c-cpp/ thread641578.html C/C++ Графический контрол в dll
Всем, привет! Ковыряясь в стороннем коде (в частности в dll) - заметил одну странность: очень часто разработчики не оформляют графический контрол, как activeX или просто COM-объект. То есть все методы контрола доступны через секцию экспорта dll. Почитав в интернете соответствующую литературу попытался найти основания для этого. В основном мотивируют тем, что COM много жрёт памяти и...
C/C++ OleVariant и передача объекта. (Delphi) https://www.cyberforum.ru/ c-cpp/ thread622437.html
Доброго времени суток. Пришла мысль создать некий диспетчер доступа к БД. Суть: иметь один интерфейс для доступа к БД с использованием различных компонентов доступа к БД (IB, ADO, Zeos и т.д.) Идея прикольная, с учетом того. что если захотелось быстренько заменить компоненты доступа, то это получится крайне безболезненно. Есть COM сервер, который реализует интерфейс IDataSetDispatch. Есть...
C/C++ Как записать в файл (или нарисовать в DC) IHTMLImgElement https://www.cyberforum.ru/ c-cpp/ thread619187.html
Собсно, вопрос. Есть IHTMLImgElement. Пытаюсь кастануть к IHTMLElementRender: CComQIPtr<IHTMLElementRender> spElemRender; if (FAILED(pElement->QueryInterface(IID_IHTMLElementRender, (void**)&spElemRender))) { AfxMessageBox(_T("Unable to create render of the body element.")); return; }Элементы получены с помощью...
что такое COM и ActiveX? C/C++
что такое COM и ActiveX? гуглил, читал, но ничего не понял.. приведите пример?
C/C++ Клиент-сервер COM https://www.cyberforum.ru/ c-cpp/ thread603665.html
Суть задачи написать на c# клиент-сервер но с "поддержкой" com объекта..задача простая парсить время с ntp и подавайть его на наш написанный сервер на с# после получения передать клиентам.. подскажите как это реализовать
C/C++ COM и асинхронный вызов. Непонятки с событиями Добрый день. Впервые решил разработать ком-сервер, и столкнулся в одной очень интересной проблемой. Мой сервер общается с клиентами средствами событий. т.е. создан dispinterface событий на которые подписывается клиент. Делал все по мануалу. Забегая на перед скажу что данная связка реализрована и работает в штатном режиме отлично. Генеральная задача ком-сервака - это коннект к некой софтине... https://www.cyberforum.ru/ c-cpp/ thread595796.html C/C++ Защита COM
Помогите разобраться есть ли в COM какие либо еще методы защиты помимо установок в DCOMCNFG и функции CoInitializeSecurity,IClientSecurity,CoSetProxyBlanket,IServerSecurity.Если не трудно подскажите какие нибудь алгоритмы и методики защиты приложения на COM.
C/C++ Формула для Экселя Здравствуйте, подскажите, пожалуйста, следующую информацию. Есть программа на C++(MFC). Как корректно написать след формулу: =ЕСЛИ(P12-Q12>0;P12-Q12;0) strTemp.Format("=IF(P%d-Q%d>0;P%d-Q%d;0)", iIndexRowBegin, iIndexRowBegin, iIndexRowBegin, iIndexRowBegin); oRange.put_Formula(COleVariant(strTemp)); https://www.cyberforum.ru/ c-cpp/ thread433650.html C/C++ Ссылка на COM объект https://www.cyberforum.ru/ c-cpp/ thread424403.html
Здравствуйте. У меня имеется COM объект, созданный с помощью ATL. class Class1 { public: Class2** children; ...... };
exe-com-server singleton C/C++
Возможно ли реализовать такой exe-com-server, у которого вызывалась бы одна instance? Т.е. если какой-то экземпляр уже запущен, то клиента направить в него, а не создавать новый экземпляр. Добавлено через 21 час 8 минут Разобрался.
C/C++ Исключение из HRESULT: 0x80070005 https://www.cyberforum.ru/ c-cpp/ thread366043.html
Всем привет! Я пытаюсь получить доступ к адресной книге Outlook Express, вернее к её записям Такая проблема, вызываю функцию _AdrBook.OpenEntry(_EntryIDSize, lpst, IntPtr.Zero, 0, out ObjType, out obj) и вылетает исключение «Отказано в доступе. (Исключение из HRESULT: 0x80070005 (E_ACCESSDENIED))» Доступ к .wab-файлу к которому я обращаюсь через функцию OpentEntry открыт. Галочку «только...
Модератор
3401 / 2172 / 353
Регистрация: 13.01.2012
Сообщений: 8,413
13.09.2012, 21:46 0

Си и КОМ объекты чайнику - C/C++ - Ответ 3447272

13.09.2012, 21:46. Показов 4370. Ответов 4
Метки (Все метки)

Ответ

Схема выглядит так. Клиент вызывает функцию Advise. Пример для OPC DA:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
bool opc_data_callback::connect(IUnknown *group)
{
    bool res = false;
    IConnectionPointContainer *pCPC;
    IConnectionPoint *pCP;
    if
    (
        !this->group &&
        group &&
        SUCCEEDED
        (
            group->QueryInterface
            (
                IID_IConnectionPointContainer, (void **)&pCPC
            )
        )
    )
    {
        if (SUCCEEDED(pCPC->FindConnectionPoint(IID_IOPCDataCallback, &pCP)))
        {
            if (SUCCEEDED(pCP->Advise(static_cast<IUnknown *>(this), &cookie)))
            {
                res = true;
                this->group = group;
            }
            pCP->Release();
        }
        pCPC->Release();
    }
    return res;
}
Здесь: класс opc_data_callback производный от IOPCDataCallback и содержит определения методов которые будет вызывать COM-объект при наступлении событий. При вызове функции Advise COM-объект получает указатель на интерфейс IOPCDataCallback из переданного ему указателя на интерфейс IUnknown. COM-объект будет вызывать условленные методы этого интерфейса при наступлении определенных событий. Для OPC DA это, например, метод OnDataChange при изменении данных на COM-объекте - вызывая этот метод клиентского интерфейса COM-объект будет уведомлять его о наступлении интересующего клиента события передавая в аргументах всю необходимую информацию. Фактически при наступлении данного события COM-объект будет делать вызов
C++
1
2
3
4
5
6
7
8
9
10
11
opc_data_callback_object->OnDataChange(
        dwTransid,
        hGroup,
        hrMasterquality,
        hrMastererror,
        dwCount,
        phClientItems,
        pvValues,
        pwQualities,
        pftTimeStamps,
        pErrors);
Добавлено через 13 минут
За ссылку прошу прощения - там почему-то исчез материал. Просто вбейте в google фразу 3.15 Точки соединения и найдете, то что я хотел передать.

Вернуться к обсуждению:
Си и КОМ объекты чайнику C/C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.09.2012, 21:46
Готовые ответы и решения:

Qt и ком объекты
В 1С с ком объектами работал так ком = новый COMОбъект(&quot;Zfpcom.ZekaFP&quot;);...

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

Как уничтожать динамические объекты и вообще объекты, если это необходимо сделать в их процедурах?
Создать отдельную процедуру CloseObject(Object: TObject) и вызывать ее в конце процедуры или так...

Встроенные объекты Java Script. Объекты Array, Date
Создать массив, содержащий названия элементов, находящихся в системном блоке компьютера. Добавить...

4
13.09.2012, 21:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.09.2012, 21:46
Помогаю со студенческими работами здесь

Удалить все объекты и создать объекты - потомки
Как сделать клоны объекта в другом объекте? Использую метод Instantiate Есть метод public...

Функция создает объекты и указателями на них заполняет массив. При выходе из функции вызываются деструкторы объектов. Как сохранить объекты?
Вопрос прост: как при выходе из функции сохранить объекты, которые были созданы в данной функции...

В окне перемещаются объекты, отталкиваясь от стенок окна. Каждый объект имеет свой поток, перемещающий его. Встретившись, объекты начинают двигаться
В окне перемещаются объекты, отталкиваясь от стенок окна. Каждый объект имеет свой поток,...

БД избер ком
Всем Доброй ночи . Мне нужно создать базу данных Избирательной комиссии ( непосредственно связь с...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru