F2051 Unit uROUri was compiled with a different version of uROClasses.TStringArray

Hi, i am using RAD Studio 11.3 with trial version of RemObjects. I am trying to compile a project written a long time ago. I added all the necessary changes to compile project with the latest version of Delphi. Unfortunately, it seems that there is a problem related to RemObj in the project. The error says “F2051 Unit uROUri was compiled with a different version of uROClasses.TStringArray” and it appears in file that is automatically generated by RemObj. Whenever i try to comment out this uROUri unit, it keeps coming back after compiling. I have tried to delete every .dcu file in the project and recompiling it from ground up (didn’t work), also i tried to locate uROUri.pas file in RemObj installation location but i couldn’t find it. Is this the case because in trial version some files are missing? Any advice will be appreciated.

Hi,

All our trial dcu can be found at C:\Program Files (x86)\RemObjects Software\Data Abstract for Delphi\Dcu\D28\win32.

Try to “clean” project:
untitled

Can you confirm that uROUri.dcu and uROClasses.dcu have the same date?
Have you used full version of Remoting SDK earlier?
What exactly trial version you are used? I mean build version like 10.0.0.1555.

Hi,

I have found all the dcu’s for trial version in the folder you have mentioned.
Unfortunately, after cleaning the project, problems stays.
I have installed 10.0.0.1555 trial version of RemSDK and as far as I’m concerned they all should have the same date (windows file creation date, I haven’t found the way to check the dcu version. I found this tip but it didn’t work for me: How can I see which Delphi version a .dcu was compiled with? - Stack Overflow )
This project which I am working on have used full version of RemSDK earlier. I have read in documentation that it was 3.0 version (this is very old project and i am trying to bring it back to life). In this project file i have found source code for files like “uROClasses.pas” but this “uROUri.pas” is missing, and i think that is the problem.
I tried removing that code and recompiling the project. Then the previous problem doesn’t show up but, there is a different one: E2004 Identifier redeclared: ‘l_Device’ .

Hi,

You are right. this is an issue.
ROv3 full isn’t compatible with ROv10 trial because we made a lot of changes for those 17+ years.

Can you look what unit uses this variable, pls? is it Remoting SDK unit? our units are mostly named as uRO*

Unit’s name is FMP_SOAP_SERVER_Intf. It is located in project called SoapServer, and name of the whole program is FMP so this part of it’s name is clear. I don’t know what does Intf mean in this context. At the very beginning of the file there is a comment “This file was automatically generated by Remoting SDK from a RODL file downloaded from a server or associated with this project. Do not modify this file manually, or your changes will be lost when it is regenerated the next time you update your RODL”. As far as I’m concerned this is the only file that is causing this sort of problems. This I_Device variable is SSDevice type class that inherits from TROComplexType.

Hi,

_Intf files are autogenerated.
in your case, FMP_SOAP_SERVER_Intf.pas could be generated by ROv3.

I can recommend to open your .RODL in Service Builder and regenerate this _Intf.