Announcement

Collapse
No announcement yet.

COM-Interface ableiten

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • COM-Interface ableiten

    Ich habe mit dem BCB 5.0 eine ActiveX componente entwichelt.
    Diese ActiveX besitzt eine IDispatch-Schnittstelle mit dem Namen MTIMActiveWeight. Da ich dieses Interface nicht verändern darf, habe ich ein neues Interface mit dem Name MTIMActiveWeight2 von diesem abgeleitet.
    Wenn ich nun dieses MTIMActiveWeight2 in der CoClass als zu erstellendes Interface angebe bekomme ich einen Compilerfehler.

    Dabei wird an foglender Codestelle ein Fehler gemeldet.

    BEGIN_COM_MAP(TMTActiveWeightImpl)
    VCL_CONTROL_COM_INTERFACE_ENTRIES(IMTActiveWeight) => Fehler
    DUALINTERFACE_ENTRY(IMTActiveWeight2)
    END_COM_MAP()



    [C++ Fehler] MTActiveWeightImpl.h(144): E2031 Typumwandlung von 'TMTActiveWeightImpl *' nach 'IMTActiveWeight *' nicht zulässig
    [C++ Fehler] MTActiveWeightImpl.h(144): E2293 ) erwartet
    [C++ Fehler] MTActiveWeightImpl.h(144): E2139 In Deklaration fehlt ;

    Die deklaration der Klasse sieht folgendermaßen aus:

    class ATL_NO_VTABLE TMTActiveWeightImpl:
    VCLCONTROL_IMPL(TMTActiveWeightImpl, MTActiveWeight, TMTActiveWeight, IMTActiveWeight, DIID_IMTActiveWeightEvents),
    DUALINTERFACE_IMPL(MTActiveWeight, IMTActiveWeight2)
    {
    ...
    }

    Da diesen Code die TLE automatisch erstellt denke ich daß dort der Fehler liegt.

    Ich bin für jeden Hinweis dankbar.

    MfG

    Peter Fauler
Working...
X