Rodl2code generates invalid delphi code for .NET server & delphi client

The rodl2code tool (in my personal build 1628?) generates invalid delphi code again

I use commandline

“%RemObjectsTop%\RemObjects SDK (Common)\Bin”\rodl2code PharmacyCloudService.remoteRODL --type:intf --platform:delphi --language:delphi --outpath:. --out:PharmacyCloudService_Intf.pas

FYI: Generated code also uses other define for generics but I guess that was a valid modification on your end

Can this also be fixed?

Note: There is also a small issue in the .NET code generation where the intf.cs file contains 2x

using RemObjects.DataAbstract.Server;

Hi,

your ROD/DAD version is still .1611 but codegand this is a reason.

workarounds:

  • modify uROTypes.pas like
  TROArray = class {$IFDEF DELPHI2007UP}abstract{$ENDIF} (TROComplexType)
..
  public
    function ElementAttributes: TParamAttributes; virtual; //<<<<<<<<added
...
function TROArray.ElementAttributes: TParamAttributes; //<<<<<<<<added
begin
  Result := [];
end;

procedure TROArray.ReadComplex(ASerializer: TObject);
..
  {$ENDIF}
  if l_pa = [] then l_pa := ElementAttributes;  //<<<<<<<<added
  if GetItemClass <> nil then begin

procedure TROArray.WriteComplex(ASerializer: TObject);
...
  {$ENDIF}
  if l_pa = [] then l_pa := ElementAttributes;  //<<<<<<<<added
  if GetItemClass <> nil then begin

or

  • disable generics. you can do this on unit level ({$UNDEF ROUseGenerics}) in _Intf.pas or add the same statement into RemObjects_user.inc.

this is valid


will fix