Подключение зарегестрированной Dll к проекту Visual C++

Тема в разделе "MS Visual C++", создана пользователем Alex_Bamuner, 1 авг 2006.

Статус темы:
Закрыта.
  1. Alex_Bamuner

    Alex_Bamuner Гость

    Помогите кто может!
    Уже второй день бъюсь над одним и тем же!
    Имеется зарегестрированная dll библиотека в реестре. Её надо подключить к проекту Visual C++. Пробовал через CreateObject - не получается. Пробовал через GetClassFile и потом CoGetClassObject, но возникла проблема с получением CLSID. Более того - а как присвоить известное значение CLSID?? Буду очень признателен, если кто-нибудь откликнется! Спасибо!
     
  2. grigsoft

    grigsoft Well-Known Member

    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    так а в длл-то что? там точно СОМ объект\ActiveX?
     
  3. Alex_Bamuner

    Alex_Bamuner Гость

    Да, совершенно точно! Я пробовал CreateObject - VC++ 6.0 не получилось. Пробовал через CoGetClassObject, CoCreateInstance - ничего не получается!
     
  4. grigsoft

    grigsoft Well-Known Member

    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    Чудес не бывает ;) либо плохо зарегистрирована - может перемещалась после? Либо надо проверить саму библиотеку - глянуть тем же depends.exe что она экспортирует, дернуть руками что там нужно - я уже не вспомню сходу что, давно не работал с СОМ.
     
  5. sdriver

    sdriver Гость

    Да нет просто тут явная нехватка знаний по самой спецификации, если автор даст мыло скину пару примерчиков и литературы, которые надеюсь помогут разобраться с этим вопросом.
     
  6. SunSanych

    SunSanych Well-Known Member

    Регистрация:
    28 июн 2006
    Сообщения:
    71
    Симпатии:
    0
    Хотелось бы взглянуть на сам объект обсуждения (dll в студию!!!), если не очень тяжелая.
    А так, на всидку можно предположить следующее:
    перед вызовом CreateObject() и вообще каких-либо действий с COM, необходимо выполнить функцию ::CoInitialize(NULL) для "инициализации" самой COM.
    И в конце программы, когда COM больше не нужна вызвать ::CoUninitialize().
    Сделано?
     
  7. Alex_Bamuner

    Alex_Bamuner Гость

    Сделано, и более того, сделано через ActiveX и уже работает, так что всем спасибо!
     
  8. mike2007

    mike2007 Гость

    Для: sdriver
    Пожалуйста.
    Скинь мне пару примерчиков и литературы, по подключению DLL к проекту Visual C++.
    Мое мыло: zenchenko-mike@mail.ru
     
  9. KiberMath

    KiberMath Гость

    Для: sdriver
    И мне тоже плиз KiberMath@rambler.ru
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей