Подключение к событиям OLE-объекта, написанного на C#
От: EugeneNMA  
Дата: 14.03.06 10:07
Оценка:
Добрый день!
Проблема с использованием событий OLE-объекта, написанного на C# из Delphi-программы (D7).
Импортирую библиотеку типов, кладу компонент на форму, присваиваю обработчик события, при генерации события получаю EOleException с сообщением "Not implemented".
Кто-нибудь сталкивался с таким?



//*******************Код Delphi программы:


//(AutoConnect = true; ConnectKind = ckRunningOrNew)

var
p: IMyServer;
begin
p := OLEMyServer.DefaultInterface as IMyServer;

p.Start; //выполняется
p.Test; //входит в тело метода, exception при вызове обработчика события
end;

procedure TfmMain.OLEMyServer1TestEvent(Sender: TObject);
begin
ShowMessage('Event fired.');
end;


//**************************OLE-сервер:

[ComVisible(false)]
public delegate void TestEventDelegate();


[InterfaceType(ComInterfaceType.InterfaceIsDual)]
[Guid("9FD6A388-9C8C-4fee-A456-D82C904A1808")]
public interface IMyServer
{
Int32 Port {get; set;}
bool Active {get;}
void Start();
void Stop();
void Test();
}

[ComSourceInterfaces(typeof (ISuperkitRemoteServerSourceEvents))]
[ClassInterface(ClassInterfaceType.None)]
public class OLEMyServer: IDisposable, IMyServer
{
public event TestEventDelegate TestEvent;
public void Test()
{

TestEvent();

}

...
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.