COM Interfaces einbinden



  • Hallo!

    Ja, ich möchte ein COM Interface mit MFC Makros einbinden - IPersistFolder. Dazu hab ich eine Klasse CFolderObj erstellt, die von CCmdTarget abgeleitet wird.

    Es sieht derzeit so aus:

    Im *.h File:

    DECLARE_INTERFACE_MAP()
    
        // IPersistFolder
    	BEGIN_INTERFACE_PART(PersistFolder, IPersistFolder)
    		STDMETHOD(GetClassID)(THIS_ LPCLSID lpClassID);
    		STDMETHOD(Initialize)(THIS_ LPCITEMIDLIST pidl);
    	END_INTERFACE_PART(PersistFolder)
    

    und im cpp File:

    BEGIN_INTERFACE_MAP(CFolderObj, CCmdTarget)
    
    	INTERFACE_PART(CFolderObj, IID_IPersistFolder, PersistFolder)	
    
    END_INTERFACE_MAP()
    

    Das lässt sich auch alles kompilieren, nur das Problem ist wenn ich die Klasse von außerhalb aufrufen möchte, müsste die Klasse CFolderObj, eine Member Variable beinhalten (m_xPersistFolder). Tut sie aber nicht.

    CFolderObj *pShellFolder = new CFolderObj();
    

    So erstell' ich die Klasse. Danach müsste ich doch mit pShellFolder->m_xPersistFolder auf die Funktionen zugreifen können oder?

    Hab ich was übersehen? Falsch verstanden? Hat jemand einen Vorschlag, Artikel sonstiges?

    Bin über jede Hilfe dankbar!

    Danke im voraus.
    lG


Anmelden zum Antworten