Всем привет!
COM-сервер реализован по образцу
CSExeCOMServer по технологии out-of-process.
Все методы и свойства работают, не понятно одно — как подписаться на события?
Объект COM-сервера:
[ClassInterface(ClassInterfaceType.None)] // No ClassInterface
[ComSourceInterfaces(typeof(ISimpleObjectEvents))]
[Guid(Ids.ClassId), ComVisible(true)]
public class SimpleObject : ReferenceCountedObject, ISimpleObject
{
...
#region Events
[ComVisible(false)]
public delegate void FloatPropertyChangingEventHandler(float newValue, ref bool cancel);
public event FloatPropertyChangingEventHandler FloatPropertyChanging;
#endregion
}
Интерфейс событий:
[Guid(Ids.EventsId), ComVisible(true)]
[InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
public interface ISimpleObjectEvents
{
#region Events
[DispId(1)]
void FloatPropertyChanging(float newValue, ref bool cancel);
#endregion
}
В MSDN примеров не нашел (там все разноязыкое), прочий Гугл тоже не сильно помог.
подскажите, плиз...