0 Members and 1 Guest are viewing this topic.
class ...: public virtual IUnknown{}
При попытке за-ап-кастить объект класса наследующий IUnknown несколько раз происходит ошибка IUnknown is ambitious class of ...такое может произойти например когда класс прослойка для формы окна наследует несколько ивенктов или база данных фонотеки наследует провайдер (по документации она обязана это сделать)как решить данную задачу я не нашёл кроме как указание наследования виртуальным
пз в apiPlaylists старые определения констант
IUnknown реализуется базовым классом прослойкой, что идёт вместе с SDK. Вам не надо его реализовывать самостоятельно.
class MyMusicLibrary: public IUnknownImpl<IAIMPMLExtensionDataStorage>, public IAIMPMLDataProvaider{ /* ... */}
а в самом IUnknown который наследуется несколько раз
если за-ап-кастить объект данного класса в IUnknown
Вообще говоря, кастить объекты к интерфейсам нельзя. Нужно использовать QueryInterface
Вот исходники довольно навороченного плагина на С++ для AIMP:https://github.com/kubik-jaroslav/AIMPYouTube/blob/master/OptionsDialog.h
В смысле костыль? А как у майкрософта разруливаются подобные ситуации? Ведь тут за основу взята Com-модель.
я не знаю поэтому здесь и спросил