0 / 0 / 0
Регистрация: 01.04.2021
Сообщений: 79
1

Регистрация СОМа

01.04.2021, 11:20. Показов 17703. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброе время суток.
Прошу не судить строго, я только начинаю знакомится с COM.
С помощью ресурсов Введение в СОМ и CodeProject написал компонент.
Зарегистрировал его reg-файлом: (конечно под админом)
Кликните здесь для просмотра всего текста

REGEDIT
HKEY_CLASSES_ROOT\EATHMODEL.Component.v001 = Earth potential model
HKEY_CLASSES_ROOT\EATHMODEL.Component.v001\CurVer = EATHMODEL.Component.v001
HKEY_CLASSES_ROOT\EATHMODEL.Component.v001\CLSID = {04DA33AD-3035-4FF0-834E-F4805388D736}
HKEY_CLASSES_ROOT\CLSID\{04DA33AD-3035-4FF0-834E-F4805388D736} = Earth potential model
HKEY_CLASSES_ROOT\CLSID\{04DA33AD-3035-4FF0-834E-F4805388D736}\ProgID = EATHMODEL.Component.v001
HKEY_CLASSES_ROOT\CLSID\{04DA33AD-3035-4FF0-834E-F4805388D736}\VersionIndependentProgID = EATHMODEL.Component
HKEY_CLASSES_ROOT\CLSID\{04DA33AD-3035-4FF0-834E-F4805388D736}\InprocServer32 = D:\COM\Project_1\binCOM\COMServerEarthModel.dll
HKEY_CLASSES_ROOT\CLSID\{04DA33AD-3035-4FF0-834E-F4805388D736}\NotInsertable

Вроде написало, что изменения в реестре произведены :unsure: , но в разделе "HKEY_CLASSES_ROOT\CLSID" я не вижу своего ID
Теперь, для проверки, пытаюсь написать клиента.
В проект вставил файл интерфейса:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    #pragma once
     
    //#include <Unknwnbase.h>
    #include <ObjBase.h>
     
    // {04DA33AD-3035-4FF0-834E-F4805388D736}
    DEFINE_GUID(IID_ICEathPotential,
            0x4da33ad, 0x3035, 0x4ff0, 0x83, 0x4e, 0xf4, 0x80, 0x53, 0x88, 0xd7, 0x36);
     
    // {AB79F6EF-9E4F-48FC-AE01-7DA7D21D875B}
    DEFINE_GUID(CLSID_CEathPotential,
            0xab79f6ef, 0x9e4f, 0x48fc, 0xae, 0x1, 0x7d, 0xa7, 0xd2, 0x1d, 0x87, 0x5b);
     
    interface ICEathPotential: public IUnknown
    {  
        STDMETHOD ( _InitModel() ) PURE;
        STDMETHOD ( _Potential(double, double, double*) ) PURE;
    };
После:
C++
1
2
    ICEathPotential* ps = NULL;
    HRESULT hrA = CoCreateInstance(CLSID_CEathPotential, NULL, CLSCTX_LOCAL_SERVER, IID_ICEathPotential, (void**)&ps );
выдает что клас не зарегистрирован...
В примере из CodeProject предоставляются функции регистрации, но в коде клиента они не используются...
Как корректно регистрировать СОМ?
Спасибо за внимание.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.04.2021, 11:20
Ответы с готовыми решениями:

Регистрация
При установке MathCad 14, он требует создать аккаунт на ptc.com, я регистрируюсь и, когда вставляю...

Регистрация
реализую регистрацию в три этапа. страницы назвал, скажем register1.php, register2.php,...

Регистрация
Здравствуйте, у меня есть вопрос. Как сделать регистрацию на сайте? Знаю, что без php не...

Регистрация
Как создать регистрацию на сайте напишите от а до я пожалуйста! И как так делают что в поле для...

4
6770 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
01.04.2021, 12:40 2
Цитата Сообщение от agapa Посмотреть сообщение
В проект вставил файл интерфейса:
Вообще, обычно такие файлы вручную не пишутся. Используется midl - https://docs.microsoft.com/en-... using-midl

Цитата Сообщение от agapa Посмотреть сообщение
С помощью ресурсов Введение в СОМ и CodeProject написал компонент.
Ты лучше в Visual studio делай. Там проще будет разобраться.
0
0 / 0 / 0
Регистрация: 01.04.2021
Сообщений: 79
06.04.2021, 09:54  [ТС] 3
Доброе время суток
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
Ты лучше в Visual studio делай. Там проще будет разобраться.
Это я привел ресурсы, по которым пытаюсь разобраться с СОМ
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
Вообще, обычно такие файлы вручную не пишутся. Используется midl - https://docs.microsoft.com/en-... using-midl
Спасибо за ответ

Добавлено через 9 минут
Но все равно! В примере от CodeProject никакого midl-файла нет
И с регистрацией так я и не разобрался...
0
6770 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
06.04.2021, 10:08 4
Цитата Сообщение от agapa Посмотреть сообщение
Но все равно! В примере от CodeProject никакого midl-файла нет
Потому что там какой-то мутный пример. В msdn куча нормальных примеров должна быть
0
0 / 0 / 0
Регистрация: 01.04.2021
Сообщений: 79
07.04.2021, 14:56  [ТС] 5
Добро время суток
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
Потому что там какой-то мутный пример
спасибо за инфу!
0
07.04.2021, 14:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.04.2021, 14:56
Помогаю со студенческими работами здесь

Регистрация
здравствуйте. я не давно стал изучать php,поэтому у меня куча вопросов. я пишу сейчас регистрацию,и...

Регистрация
помогите пожалуйста с регистрацией. вот дан код: &lt;html&gt; &lt;head&gt; &lt;/head&gt; &lt;body&gt; &lt;h2...

Регистрация в VK
Пытаюсь программно зарегистрироваться в VK. Следующий код заполняет только поля, а клик не...

Регистрация
А почему нельзя изменить данные о пользователе ?

Регистрация
Ребята как мне сделать авторизацию по центру

Регистрация..
Собственно всем привет. Есть у меня регистрация, подскажите как подредактировать ее..?...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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