V
Sorry, dass ich hier noch mal schreiben muss, aber ich habe eine weitere Frage (nachdem die alte eigentlich obsolet ist):
Ist es nun möglich, COM-Implementierungen zu vererben, um nicht auf Aggregation oder Ähnliches angewiesen zu sein?
Wenn die Vererbung nicht geht, habe ich nämlich das Problem, dass entweder die Implementierung der Klasse ziemlich groß wird oder ich gleiche Methoden häufig implementieren muss. Geht das über einen Weg?
Ich habe es jetzt schon folgendermaßen probiert:
class BaseImpl: public IBase
{
//methoden etc
};
class DerivedImpl: public BaseImpl, public IDerived
{
//methoden etc
};
class ATL_NO_VTABLE CDerived:
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CDerived, &CLSID_Derived>,
public ISupportErrorInfo,
public IDispatchImpl<DerivedImpl, &IID_ISimple, &LIBID_paramlibcomLib, /*wMajor =*/ 1, /*wMinor =*/ 0>
{
//... was noch so kommt
};
und jetzt würde eigentlich die COM_MAP kommen, allerdings erhalte ich da immer Fehlermeldungen bezüglich ambiguous casts zu IDispatch * . Ich weiß jetzt nicht, ob irgendwer eine Ahnung davon hat, wäre auf jeden Fall ganz cool, wenn des gehen würde und mir irgendwer das sagen könnte.