.NET COM компонент vs Deplhi
От: AlexeyP10  
Дата: 04.08.03 06:47
Оценка:
Написал такой незамысловатый компонент C# COM:


namespace COMTest
{
    [ComVisible(false)]
    public delegate void OnTestEvent();

    public interface If1 {
        string Name2 { get; set; }
        void Test();
    }

    [InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIDispatch)]
    public interface _If1Events {
        void OnTest();
    }

    /// <summary>
    /// Summary description for Class1.
    /// </summary>
    [ClassInterface(ClassInterfaceType.None)
    ,ComSourceInterfacesAttribute(typeof(_If1Events))]
    public class Class1 : If1
    {
        public event OnTestEvent OnTest;

        public Class1()
        {
        }

        public string Name2 {
            get { return "Vasia"; }
            set { }
        }

        public void Test() {
            OnTest();
        }
    }
}


Тестирую в VB — событие OnTest замечательно запускается. Пытаюсь прикрутить к Delphi.
Делаю Import TypeLib, затем правлю немного mscorlib (типы). Компонент замечательно создается, Name2 работает. Ставлю обработчик на событие. При вызове Test возникает OleException с сообщением "not implemented". А кто не реализован — непонятно совсем. Может кто сталкивался с такими граблями, вроде все путем делаю.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.