XDataClientDataSet OnLoad event not firing after update to 2.0.5.0

That issue started happening after I updated Web Core to v 2.0.5.0. The issue was resolved when I reverted back to v 2.0.4.0.

thanks,
Elias

1 Like

Can you please provide the exact code you are using, detailed information about how to reproduce the issue?

There is no TXDataClientDataset component, and even if you are referring to TXDataWebDataset component, there isn't an OnLoad event on it.

Sorry Wagner,

The component is XDataWebDataSet. The event is AfterOpen which stopped firing in ver 2.0.5.0.

Unfortunately, I don't have the time to provide exact code with detailed information. I was able to reproduce the problem with the XDataMusic demo. When I build the demo with ver 2.0.5.0 the list forms do not update the lbPaginationInfo WebLabel and the lbPaginationInfo WebListControl. The demo works fine with ver 2.0.4.0.

Thanks,
Elias

I have retested this here but I could not see this issue:

I am still experiencing the same issue.

I built and tested a clean copy of the music demo with v2.0.5.0 of WEB Core for RAD Studio 10.4.2 Sydney. When I first run the app I get the 'Key is too short..' error. After I fix that, the app runs fine except the lbPaginationInfo displays Showing 1 to 10 of 57 entries and the lcPaginator is not displayed at all.

After I uninstalled v2.0.5.0 and installed v2.0.4.0 the app runs just fine.

When I installed v2.0.5.0 and v2.0.4.0, I made sure that I uninstalled the installed version and deleted both the TMS WEB Core and the TMS WEB Core RSXE13 directories before reinstalling WEB Core.

I'm sorry but I cannot reproduce this here:


It is also strange that you have a different number of tracks?

It might be possible that you are not using the exact same demo as we do. The project we are running (XDataMusic.grouppro) has 2129 tracks, yours have 57. So it's different.

Can you please provide exact steps and information about which demo are you running and how?

I am sure I am using the same demo that you are. I have used both demos: the one in TMS XData\Demos\web\music and the one in TMS WEB Core RSXE13\Demos\XData\music. They appear to be the same exact demo. When I compile and build the demos with WEB Core v2.0.5.0 it does not update lbPaginationInfo and it displays 1 to 10 of 57 entries and the lcPaginator does not display at all. If I change the Show entries to 25, it displays 25 tracks but the lbPaginationInfo stays 1 to 10 of 57 entries and the lcPaginator does not display still. Whatever code that is updating both of those controls is not getting executed.

When I uninstall WEB Core v.2.0.5.0 and install v2.0.4.0 and then compile and build the same demos everything works fine and I get the same display that Bruno has above for the Track form: Showing 1 to 10 of 2129 entries and the lcPaginator displays 1 to 213 pages.

I did this more than once and I compiled and build both the demo under XData and the demo under WEB Core and get the same behavior.

In my own project - I have verified that the XDataWebDataSet AfterOpen event does not fire with v2.0.5.0. I modeled my app after the music demo and I use the AfterOpen event to update a number of things on the list forms that I have, including an lbPaginationInfo and lcPaginator components. When I revert back to v2.0.4.0 the AfterOpen event fires and everything displays correctly.

When I have time I will compare the WEB Core source code between v2.0.5.0 and v2.0.4.0 and I will also compare the generated JavaScript code for the music demo. I am not sure if that will help but I hope that will provide some more clues.

Thanks,
Elias

If you are using the demo in TMS XData\Demos\web\music (which you should, from now on please use this demo), it doesn't make sense that you are getting different number of entries just by updating/downgrading Web Core. The demo source code is exactly the same and doesn't modify.

So definitely something is very wrong here. I think first we need to solve this "issue", since "both" demos (the same demo compiled with different Web Core versions) should display the exact same number of tracks, because that is retrieved from the server. You don't even need to compile or even close the server application. You can keep the same one running between upgrades and rebuild/relaunch of web front-end.

Sorry Wagner - I must not be explaining the issue correctly. Both versions are getting the correct number of records. The response from the XData server is the same for any of the requests. All the list forms behave the same way - they display the correct information in the grid, just the lbPaginationInfo WebLabel and the lcPaginator WebListControl are not getting updated in v2.0.5.0. When I change any of the lists to display a different # of entries or I resort the list by clicking the column header. I get the correct # of entries in the grid and it resorts correctly, but the lbPaginationInfo still says Showing 1 to 10 of 57 entries and the lcPaginator is not visible. Below is what I get when I select 100 entries for the Artist List

Do you see any errors in the browser console?

Just to test, can you change in Core Source\WEBLib.Forms.pas the function

function TApplication.GetBootstrapVersion: TBootstrapVersion;
begin
 Result := bv5;
 Exit;
end;

to see if this helps?

Bruno - Thank you.

That fixed both the music demo and my app.
They are both working correctly with WEB Core v2.0.5.0 now!

I have also verified that, in my app, the AfterOpen event on TXDataWebDataSet is firing.

Thanks again,
Elias

1 Like

A fix for this will be in the next update.