Re: NonComVisibleBaseClass
От: ApsPro Россия  
Дата: 26.09.07 10:14
Оценка: 3 (1)
Здравствуйте, romstyop, Вы писали:

R>NonComVisibleBaseClass was detected

R>Message: Был произведен вызов QueryInterface, запрашивающий используемый по умолчанию интерфейс IDispatch видимого управляемого COM-класса "DocumentClientInfo". Однако, поскольку у этого класса нет явного интерфейса по умолчанию, и он является производным от видимого не-COM класса "DocumentPane", вызов QueryInterface завершится со сбоем. Это сделано для того, чтобы уберечь видимый базовый не-COM класс от ограничений, которые накладываются правилами управления версиями COM.

R>Как с этим бороться???


Определи требуемый внешний интефейс:
[ComVisible(true)]
[InterfaceType(ComInterfaceType.InterfaceIsDual)]
public interface IMyInterface
{
    void Test();
    //...
    //...
}


И далее так:
[PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
[ClassInterface(ClassInterfaceType.None)]
[ComDefaultInterface(typeof(IMyInterface))]
public partial class DocumentClientInfo : DocumentPane, IMyInterface
{
    //...
}
Если нам не помогут, мы тоже никого не пощадим...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.