Hi,
I have just upgraded to the latest official release, 9.0.97.1245, and recreated the Interface unit with the new code.
There are a few things that are not working correctly. the first one I don’t know the reason:
I had this code:
FService = CoMyService::Create(BinMessage, RemoteServer);
But for some reason, the compiler doesn’t accept this, and I have to access the operator, for each object, to get the correct interface, i.e.:
FService = CoMyService::Create(BinMessage->operator _di_IROBinMessage(), RemoteServer->operator _di_IROTransportChannel());
This is a small issue at best, being that the workaround is so simple. The previous interface unit, though, worked without problems with the new RO-SDK version (just without rebuilding the unit). It doesn’t matter, but I’m using RAD Studio 10.1.
The second issue is bigger: the cpp units need, at the beginning, the #pragma package(smart_init)
preprocessor directive for them to work fine. Without it the linker goes mad, complaining about a lot of strange stuff. Adding this solved the issue.
I remember modifying the old templates to add this (as IIRC they didn’t have them originally) but with the new code I don’t know where or how to change this. I don’t see anymore the templates (or maybe I haven’t looked hard enough, but they certainly aren’t were they used to be).
Any hints on how to solve this, and/or to raise a report number for this item (it’s important, so it shouldn’t get lost).
Thanks!