ATL COM-Klasse Konstruktor ueberladen



  • Hallo,

    ich moechte in einem ATL-Projekt (outproc exe-Projekt) den Konstruktor
    einer CO-Klasse ueberladen.
    Das scheint ja problemlos zu funktionieren. Wie komme ich jetzt beim Client an
    den ueberladenen Konstruktor dieser Klasse ran?

    Bsp (in etwa)
    Server:
    class ATL_NO_VTABLE CFoo :
    public CComObjectRootEx<CComSingleThreadModel>,
    ...
    CFoo();
    CFoo(int nValue);
    ...
    OBJECT_ENTRY_AUTO(__uuidof(Foo), CFoo) // hier muesste der ueberl. C'tor stehen ?

    Client:
    if((hr = CoCreateInstance( CLSID_Foo, NULL, CLSCTX_LOCAL_SERVER, IID_IFoo, (void**) &pIFoo) != NOERROR))
    {
    printf("Fehler bei CoCreateInstance\n");
    }

    // und jetzt, wie komm ich an die ueberl. Co-Klasse ran?

    Ich verwende VC 2008 auf Win 7.
    Vielen Danke im Voraus fuer Tipps.


  • Mod

    Gar nicht.
    Man kann COM Objekte nurmit dem Default Constructor erzeugen.
    Wie soll es auch anders gegen. CoCreateInstance kann ja keine zusätzlichen Parameter übergeben.

    Bau eine entsprechende Methode/Property in das COM Objekte ein, dass die entsprechende Initialisierung durchführt.



  • Hallo,

    ok, danke fuer die Antwort.

    MfG
    FredS


Anmelden zum Antworten