Форум программистов, компьютерный форум CyberForum.ru

C++: COM, OLE, ActiveX

Войти
Регистрация
Восстановить пароль
 
Demaskinas
1 / 1 / 0
Регистрация: 17.12.2013
Сообщений: 15
#1

Невозможно преобразовать "const _GUID" в "DllCustomWrapper::IDll *" - C++ COM

19.10.2016, 19:45. Просмотров 459. Ответов 1
Метки .net, c#, c++ (Все метки)

Доброго времени суток,
Не знаю даже куда писать, так что извиняюсь, если попал не туда
В универе дали задание, запустить библиотеку(Написанную на шарпе) через rundll32
Проблема в том, что такая библиотека не имеет точки входа, не экспортирует функций и запустить ее невозможно. Преподаватель стоит на своем, вот запусти и все
Решил написать обертку на нативных плюсах(В VS) и сделать связь через com-интерфейсы по еще старой статье от МС
Но столкнулся с проблемой
В коде
C++
1
2
3
4
5
    HRESULT hr = CoInitialize(NULL);
    IDll *pIdll(__uuidof(Dll));
    long result = 0;
    hr = pIdll->Run(); 
    CoUninitialize();
компилятор ругается на __uuidof с ошибкой
Ошибка 1 error C2440: инициализация: невозможно преобразовать "const _GUID" в "DllCustomCover::IDll *" e:\vs projects\lp.1c.os.l3.threads2\customwrapper\customwrapper.cpp 20 1 CustomWrapper

Непосредственно интерфейс IDll
C#
1
2
3
4
    public interface IDll
    {
        void Run();
    }
И класс, его имплементирующий
C#
1
2
3
4
5
6
7
8
    public class Dll : IDll
    {
        public void Run()
        {
            LP._1C.OS.L4.ThreadSynchronization.Form1 f = new LP._1C.OS.L4.ThreadSynchronization.Form1();
            f.Show();
        }
    }
Буду очень благодарен, если кто поможет решить проблему преобразования
Или найти способ написать обертку для шарповой библиотеки без помощи COM
На плюсах никогда не писал до этого
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2016, 19:45     Невозможно преобразовать "const _GUID" в "DllCustomWrapper::IDll *"
Посмотрите здесь:

невозможно преобразовать параметр 1 из "const char [8]" в "LPCWSTR" C++
C++ Qt QObject::setProperty: невозможно преобразовать параметр 2 из "bool" в "const QVariant &"
C++ COM Надстройка для Microsoft Office "Склонение слов"
Невозможно преобразовать параметр 1 из "const wchar_t [12]" в "const char *" C++
Невозможно инициализировать CoInitializeSecurity после вызова CFileDialog C++ COM
COM Объект "Word.Application" , копирование частей документа C++ COM
C++ COM Ole Auto: список "&ptName"
C++ Error C2664: RegisterClassW: невозможно преобразовать параметр 1 из "WNDCLASSEX *" в "const WNDCLASSW *"
C++ WinAPI Невозможно преобразовать параметр из "const char [12]" в "LPCWSTR"
C++ WinAPI Error C2440: =: невозможно преобразовать "const WCHAR [ ]" в "LPCSTR"
Ошибка: "binary '=' no operator found which takes a right-hand operand" C++ COM
Ошибка при сборке многофайлового проекта: "невозможно преобразовать "int" в "const golf" C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vxg
Модератор
3024 / 1826 / 190
Регистрация: 13.01.2012
Сообщений: 6,929
21.10.2016, 12:25     Невозможно преобразовать "const _GUID" в "DllCustomWrapper::IDll *" #2
Demaskinas, а эта библиотека вообще так может? вы пробовали ее вызвать ну скажем в VBA?
Yandex
Объявления
21.10.2016, 12:25     Невозможно преобразовать "const _GUID" в "DllCustomWrapper::IDll *"
Ответ Создать тему
Опции темы

Текущее время: 20:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru