Possible Bug in uXMLToRODL.pas

Using the attached file, we get an error:

[50090069]{rtl240.bpl } System.SysUtils.ConvertErrorFmt (Line 5538, “System.SysUtils.pas” + 1) + $10
[500900D5]{rtl240.bpl } System.SysUtils.InvalidGUID (Line 5658, “System.SysUtils.pas” + 1) + $17
[50090180]{rtl240.bpl } System.SysUtils.StringToGUID (Line 5683, “System.SysUtils.pas” + 1) + $24
[1FE360B2]{RemObjects_Core_D24.bpl} Uxmltorodl.TXMLToRODL.LoadGroups + $136
[1FE37414]{RemObjects_Core_D24.bpl} Uxmltorodl.TXMLToRODL.LoadStreamToLibrary + $2D0
[1FE3487B]{RemObjects_Core_D24.bpl} Uxmltorodl.TXMLToRODL.IntReadFromStream + $6F
[1FE4416F]{RemObjects_Core_D24.bpl} Urodl.TRODLReader.Read + $43
[1FE441CC]{RemObjects_Core_D24.bpl} Urodl.TRODLReader.ReadFromFile + $34
[1FE4411C]{RemObjects_Core_D24.bpl} Urodl.TRODLReader + $10
[1FE3F410]{RemObjects_Core_D24.bpl} Urodl.ReadRODLFromFile + $24
[239FDE5B]{RemObjects_Server_IDE_D24.bpl} Urorodlnotifier.Register + $1163
[239FE364]{RemObjects_Server_IDE_D24.bpl} Urorodlnotifier.ProcessProject + $F4
[239FE7A7]{RemObjects_Server_IDE_D24.bpl} Urorodlnotifier.TRORODLNotifier.GenerateUnits + $F
[23A074F7]{RemObjects_Server_IDE_D24.bpl} Uroserveridemenu. + $0
[5017009F]{rtl240.bpl } System.Classes.TBasicAction.Execute (Line 16683, “System.Classes.pas” + 3) + $7
[50A8CD86]{vcl240.bpl } Vcl.ActnList.TCustomAction.Execute (Line 260, “Vcl.ActnList.pas” + 19) + $35
[0B6A69DA]{IDEFixPack.dll} RefactoringActionUpdateFix.CustomActionExecute (Line 87, “RefactoringActionUpdateFix.pas” + 4) + $0
[5016FF0B]{rtl240.bpl } System.Classes.TBasicActionLink.Execute (Line 16594, “System.Classes.pas” + 2) + $7
[21AC5815]{vclactnband240.bpl} Vcl.ActnMenus.TCustomActionMenuBar.ExecAction (Line 1078, “Vcl.ActnMenus.pas” + 6) + $D
[21AC70C0]{vclactnband240.bpl} Vcl.ActnMenus.TCustomActionMenuBar.TrackMenu (Line 1844, “Vcl.ActnMenus.pas” + 19) + $15
[21ACAAE6]{vclactnband240.bpl} Vcl.ActnMenus.TCustomActionMainMenuBar.TrackMenu (Line 3638, “Vcl.ActnMenus.pas” + 5) + $3
[21AC53C0]{vclactnband240.bpl} Vcl.ActnMenus.TCustomActionMenuBar.CMItemClicked (Line 956, “Vcl.ActnMenus.pas” + 2) + $11
[21AC53C9]{vclactnband240.bpl} Vcl.ActnMenus.TCustomActionMenuBar.CMItemClicked (Line 957, “Vcl.ActnMenus.pas” + 3) + $4
[50AA3B32]{vcl240.bpl } Vcl.Controls.TControl.WndProc (Line 7313, “Vcl.Controls.pas” + 91) + $6
[163D6CE9]{cxLibraryRS24.bpl} Dxhooks. + $0
[163D6B19]{cxLibraryRS24.bpl} Dxhooks. + $0
[50AA867D]{vcl240.bpl } Vcl.Controls.TWinControl.WndProc (Line 10143, “Vcl.Controls.pas” + 158) + $6
[21AC71D6]{vclactnband240.bpl} Vcl.ActnMenus.TCustomActionMenuBar.WndProc (Line 1883, “Vcl.ActnMenus.pas” + 25) + $4
[50AA7C9C]{vcl240.bpl } Vcl.Controls.TWinControl.MainWndProc (Line 9850, “Vcl.Controls.pas” + 3) + $6
[50170DFC]{rtl240.bpl } System.Classes.StdWndProc (Line 17187, “System.Classes.pas” + 8) + $0
[50BEEDE7]{vcl240.bpl } Vcl.Forms.TApplication.ProcessMessage (Line 10534, “Vcl.Forms.pas” + 23) + $1
[50BEEE2A]{vcl240.bpl } Vcl.Forms.TApplication.HandleMessage (Line 10564, “Vcl.Forms.pas” + 1) + $4
[50BEF15D]{vcl240.bpl } Vcl.Forms.TApplication.Run (Line 10702, “Vcl.Forms.pas” + 26) + $3

Taking a look at the sourcecode we believe that the line
list := lParentNode.GetNodesByName(‘Group’);
within the procedure
procedure TXMLToRODL.LoadGroups(aLibrary: TRODLLibrary; const aRODLUse: TRODLUse; const aXmldoc: IXMLDocument);

causes sub groups (which have no UID) to raise this error.
Can you please take a look?

Best regards
Françcois

DALibrary.RODL (297.6 KB)

weird. but I can’t reproduce this.
can you pls retest with this testcase ?

program Project58;
{$APPTYPE CONSOLE}
uses
  uROCOMInit,
  System.SysUtils,
  uRODL,
  uXMLToRODL;
var
  k: TRODLLibrary;
begin
  try
    try
      k := ReadRODLFromFile(TXMLToRODL, 'DALibrary.RODL');
      writeln('DALibrary.RODL was loaded correctly');
    except
      on E: Exception do
        Writeln(E.ClassName, ': ', E.Message);
    end;
  finally
    k.Free;
  end;
end.

Hi everybody
I indeeded unable to reproduce the problem using that sample project of yours as well. Nevertheless, the error occurs whenever I try to regenerate the Units from RODL.

can you manually recompile RO_IDE and RO_Server_IDE packages and retest, pls?

I did, as you suggested, recompiled RO_IDE and RO_Server_IDE. It seems to have an effect but now a different error occures. As a result, I recompiled DataAbstract as well but that didn’t have any effect.
I reinstalled the entire RemObjects & DataAbstract again but as a result the original error occured. After recompiling RO_IDE and RO_SERVER_IDE again, I am back with the second error (the DataAbstract related one). It looks to me that there is maybe something wrong with the installer?
What can I do about this DataAbstract related error?

this mean that DataAbstract_ADODriver package isn’t installed.
you can

  • install this package
    or
  • ignore this error, because this component only adds uDAADODriver.pas into uses and is needed for showing data via LocalDataStreamer

I manually installed that package - now we get another error :-/

What could this be?

Best regards
Francois

looks like this _intf was created with other version of RO/DA.
workaround: regenerate it with your version

There was indeed a problem with our build process which caused that problem. Many thanks for your patience!

Best regards
Francois Zbinden