Losing Events

I have a Delphi client talking( let’s call it APP1) to a .net server (APP2), which itself is a client of another Delphi server (APP3). I’m trying to get an event from APP3 to APP1 via APP2. The events are being triggered fine from APP1. They are being received by APP2 and then triggered for APP3, but then I only get the last few events in APP3. In one example I have 46 events in quick succession. However, APP3 only receives the last 7. Not sure what’s happening. I am using HTTP in both cases. Polling is set to the default max of 10 messages, but changing it doesn’t seem to change anything.

can you add some logging and confirm that all events from APP1 are received by APP2 and they are prepared for APP3?

I have logged everything in APP2 and can see all events being received correctly, and subsequently fired off. However they do not all arrive to APP1. I have also made a small experiment. I triggered 30 events in APP2. Simple loop:

for (int i = 0; i < 30; i++)
      _consoleEvents.HandleProgressText(sessionID, i.ToString(), true);

I get the last 10.

If I then change the MaximumMessagesPerPoll in the TEventReciever from 10 to 15, I get the last 15 events. I had said in my original post that this doesn’t make a difference, but it apparently does:

Thanks, logged as bugs://77335

as a workarond, pls update uROEventReceiver.pas:

function TROEventReceiver.Invoke_GetEventsData(out EventsData: TROBinaryMemoryStream): Integer;
..
begin
  result := 0; // else it's warn             //<<<<<<<<<<<<<<<<moved from middle of code to the top
  EventsData := nil; // else it's warn       //<<<<<<<<<<<<<<<<moved from middle of code to the top
...
        if result > 0 then begin
          if EventsData = nil then begin     //<<<<<<<<<<<<<<<<added
            EventsData := TROBinaryMemoryStream.Create;
            EventsData.Write(result, SizeOf(integer)); // For legacy stream format compatibility
          end;                              //<<<<<<<<<<<<<<<<added

Ok thanks. That fixed the problem.

bugs://77335 got closed with status fixed.

Logged as bugs://i65060.

bugs://i65060 was closed as fixed.