Adapting a VCL app that uses XData to WebCore

I've got a VCL form that's working with XData and I'm looking to replicate it in WebCore. I realize this straddles two different technologies, but it's mostly the XData Client part that concerns me here. It seems expressions like this:

List := Client.IService<ISomeServiceOfYours>.myservice(Quote1, Quote2, Quote3, Quote4, NumVariants);

won't compile in WebCore because they depend on the interface units that require XData.Server.xxx units that then depend on VCL (or FMX?) System units. So different calls are needed.

Are there any discussions of this topic anywhere? Something like what's involved in migrating a VCL form into WebCore from an XData Client perspective? Or in general?

The web demos under XData show examples of this, also take a look at Web Applications with TMS Web Core | TMS XData documentation (tmssoftware.com) although I'm not sure it covers this specifically

The call will look like this:

WebClient1.RawInvoke('ISomeServiceOfYours.myservice', [Quote1, Quote2, Quote3, Quote4, NumVariants], @OnSuccess, @OnError);

where @OnSuccess and @OnError point to methods that handle the response. This is needed as the whole process is async.

If you want to use the await call then, it is a little bit different:

AResponse := await(TXDataClientResponse, WebClient1.RawInvokeAsync('ISomeServiceOfYours.myservice',
        Quote1, Quote2, Quote3, Quote4, NumVariants]));

Where AResponse is a TXDataClientResponse and you can then query this for the result of the call.

2 Likes