Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Импорт и вызов ATL COM DLL функции


Автор: ekianu 3.3.2013, 13:39
Привет!
Помогите пожалуйста связать atl com dll к с# приложению.

в ATLLib.idl
Код

...
interface IATLLibMain : IUnknown{
    [helpstring("method hello")] HRESULT hello([out,retval] BSTR* res);
};
...


в ATLLibMain.cpp
Код

STDMETHODIMP CATLLibMain::hello(BSTR* res)
{
    *res = SysAllocString(L"Hello world!!!");

    return S_OK;
}


компилирую и регистрирую COM.

В c# проекте делаю Add reference... добавляю СOM. Вызываю COM функцию таким образом

Код

    IATLLibMain atllib = new ATLLibMainClass();
    Console.WriteLine(atllib.hello());


выдает ошибку
An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in ATLLibTest.exe

Additional information: Сбой при получении производства объектов класса COM для компонента с CLSID {5989CFE5-ACFC-4FA7-ABC7-07B81E167419} в результате следующей ошибки: 80040154.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)