AnsiString are converted automaticaly to ROAnsiString

(Rafael) #1


I am using RemObjects SDK since 2007 using Delphi 7,

I downloaded the trial of Remoting SDK and I managed to create (recreate my older service for Delphi 10.2)
Trial version worked fine with old clients (win32).
The definitions of Send was:

function TKosmosService.Send(const comm: AnsiString): AnsiString;

Now, having the purchased version, I am trying to do the same, but I get the messages from the compiler:

[dcc64 Error] KosmosService_Impl.pas(33): E2291 Missing implementation of interface method IKosmosService.Send
[dcc64 Hint] KosmosService_Impl.pas(73): H1054 Send is not implemented yet!
[dcc64 Fatal Error] Kosmos.dpr(48): F2063 Could not compile used unit ‘KosmosService_Impl.pas’

and by entering the KosmosServiceUn_Intf.pas I see that all AnsiString became automaticaly ROAnsiString.

My Question (at last)

How I can keep the old good AnsiString thing of my trial version that worked?

I would apreciate any help,


(EvgenyK) #2

in full version, you can uncomment CODEGEN4_LEGACYSTRINGS define inside

  // codegen4: use AnsiString/UTF8Strings

and rebuild RO packages.

in trial version, you can’t recompile files so just update your .dpr like:

{#.ROGEN:DynamicRequestLibrary.rodl} // RemObjects: Careful, do not remove!

after this, you can recompile _Intf, _Invk and _Impl manually with Service Builder where you can specify to use AnsiStrings:

(Rafael) #3

Thank you EvgenyK for your quick and detailed answer,

Is there a command in the RemObjects installation that compiles all neccessary ROPackages?
Whitch are the neccessary packages?

thank you


(EvgenyK) #4
  • for Delphi7, you need to recompile ..\RemObjects Software\RemObjects SDK for Delphi\Source\BuildPackages_D7.bpg
  • for Delphi2007, you need to recompile packages from ..\RemObjects SDK for Delphi\Source\BuildPackages_D11.groupproj
  • for Delphi 10.2 - BuildPackages_D25.groupproj
  • for Delphi 10.3 - BuildPackages_D26.groupproj

(Rafael) #5

Thank you EvgenyK,

Now it works fine!