Back to events...now with SuperTCP

Hello,

I am porting the stuff to SuperTCP and again it seems i am missing something, my events do not get to client side.

There is an TROEventReceiver.ServiceName property. Which service should it point to?

Should i use dedicated TROBinMessage component for Event Receiver?

I am using LegacyEvents = TRUE as this is the method i got it working before with HTTP.

Thanks.

it can specify any service.

not yet. it can share existing message.

see the SuperTCP Channel Chat sample for more details.

Note: this sample uses LegacyEvents=False for compatibility with similar .NET sample

Thanks Evgeny.

My client-side form is implemented inside plugin…namely TuilPlugin. Also, the form that implements event interface is a base form, and the actual form being displayed is its descendant.

Could it interfere somehow, so i do not receive a notification on client?

Moreover, Event Receiver is in plugin form, and it is being linked to channel component in host application.

Could it be the reason events do not get through?

in testcases we use something like

  TestEventObject = class(TComponent, ITest_EventSink)
  public
    procedure Event_String(const NewParam: string);
    procedure Event_Struct(const NewParam: TestStruct);
  end;

it works w/o any problems, also it should work with TForm.
I can recommend to set breakpoint at TROEventReceiver.FireEvents and check that events came from server to client. if breakpoint in this method wasn’t reached, then you have some problems at server-side.

I can recommend to check if channel is assigned correctly. sometimes, you need to relink components in OnCreate event manually

The problem is definitely on client-side.

I now implemented event interface in host datamodule and it is working.