DLL registry fail



  • Guten Morgen,
    hab folgendes Problem,
    ich hatte eine C# DLl erfolgreich in meinen C++ Code eingebunden, lief auch 1-2 Monate ohne Probleme, doch nun kommt immer bei der Dll ini,
    "Unbehandelte Ausnahme in Test.exe (Kernel32.dll): 0xE06D7363: Microsoft C++ Exception."

    TestDll::_Class1 *pptr;
    CoInitialize(NULL);
    TestDll::_Class1Ptr Class1(__uuidof(TestDll::Class1));
    

    In der dritten zeile kommt der Fehler, dort wird das aufgerufen:

    // Calls CoCreateClass with the provided CLSID retrieved from
    	// the string.
    	//
    	explicit _com_ptr_t(LPOLESTR str, IUnknown* pOuter = NULL, DWORD dwClsContext = CLSCTX_ALL) throw(_com_error)
    		: m_pInterface(NULL)
    	{
    		HRESULT hr = CreateInstance(str, pOuter, dwClsContext);
    
    		if (FAILED(hr) && (hr != E_NOINTERFACE)) {
    			_com_issue_error(hr);
    		}
    	}
    

    Und hr ist -2147221164 was ja eig. dafür steht das die DLL nicht registriert ist.

    #pragma once
    #pragma pack(push, 8)
    
    #include <comdef.h>
    
    namespace TestDll {
    
    //
    // Forward references and typedefs
    //
    
    struct /* coclass */ Class1;
    struct /* coclass */ Form1;
    struct __declspec(uuid("e23ac472-8681-33c0-b7a7-8821a7232a80"))
    /* dual interface */ _Class1;
    struct __declspec(uuid("fd5244c6-3a9c-376c-b4ef-53fa4a11fccf"))
    /* dual interface */ _Form1;
    
    //
    // Smart pointer typedef declarations
    //
    
    _COM_SMARTPTR_TYPEDEF(_Class1, __uuidof(_Class1));
    _COM_SMARTPTR_TYPEDEF(_Form1, __uuidof(_Form1));
    
    //
    // Type library items
    //
    
    struct __declspec(uuid("2108c612-b6af-3c7b-badd-5395212d7d12"))
    Class1;
        // [ default ] interface _Class1
        // interface _Object
    
    struct __declspec(uuid("f9ec5f74-2981-3188-974c-a6d22b3e54a8"))
    Form1;
        // [ default ] interface _Form1
        // interface _Object
        // interface IComponent
        // interface IDisposable
        // interface IWin32Window
    
    struct __declspec(uuid("e23ac472-8681-33c0-b7a7-8821a7232a80"))
    _Class1 : IDispatch
    {
        //
        // Raw methods provided by interface
        //
    
        virtual HRESULT __stdcall get_ToString (
            BSTR * pRetVal ) = 0;
        virtual HRESULT __stdcall Equals (
            VARIANT obj,
            VARIANT_BOOL * pRetVal ) = 0;
        virtual HRESULT __stdcall GetHashCode (
            long * pRetVal ) = 0;
        virtual HRESULT __stdcall GetType (
            struct _Type * * pRetVal ) = 0;
        virtual HRESULT __stdcall Testtest ( ) = 0;
        virtual HRESULT __stdcall TestGo (
            BSTR strOutPath ) = 0;
        virtual HRESULT __stdcall get_strPfad (
            BSTR * pRetVal ) = 0;
        virtual HRESULT __stdcall put_strPfad (
            BSTR pRetVal ) = 0;
        virtual HRESULT __stdcall get_strPfadklein (
            BSTR * pRetVal ) = 0;
        virtual HRESULT __stdcall put_strPfadklein (
            BSTR pRetVal ) = 0;
    };
    
    struct __declspec(uuid("fd5244c6-3a9c-376c-b4ef-53fa4a11fccf"))
    _Form1 : IDispatch
    {};
    
    } // namespace TestDll
    
    #pragma pack(pop)
    

    In der Registry stehen:

    TestDll.Class1 -> CLSID -> {2108C612-B6AF-3C7B-BADD-5395212D7D12}
    TestDll.Form1 -> CLSID -> {F9EC5F74-2981-3188-974C-A6D22B3E54A8}
    

    Kann mir jm. helfen?
    Mfg
    Sgrab



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x) in das Forum Compiler- und IDE-Forum verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten