Problems with the trial version (I really wanted this to be a good experience)

Hello,

I really wanted this to be a good experience, but it’s not going so well. My primary purpose for trialling Elements was to convert an old Delphi project to .net.

I downloaded the trial version (RemObjects Elements with Water - 11.0.0.2735.exe) and the latest Visual Studio 2022 Community Edition.

But sometimes after a build it will crash with an access violation. If the build is successful then the AV does not happen. But if there are errors in the code, it will crash and VS will exit.

Maybe there is a log file I could send to you? So instead I am using Water which doesn’t crash after a build.

But I have another issue:

I create a new Project, choose Console Application (.NET Core) and tick “Use Elements RTL”. Then I add a reference to “C:\Program Files (x86)\RemObjects Software\Elements\References\Echoes\NET\Delphi.dll”

Then I build this code:

namespace Test3;

interface

uses
System.Linq,
RemObjects.Elements.RTL.Delphi;

type
Program = class
public
class method Main(args: array of PlatformString): Int32;
end;

implementation

class method Program.Main(args: array of PlatformString): Int32;
var
s :String;
begin
s:=DateToStr(EncodeDate(2000,1,1));
end;

end.

But when I run it I get:

An exception occurred in Test3, thread 1C18

Type: System.StackOverflowException

Message:

An exception of type: System.StackOverflowException occurred

Call Stack:

0000000000000000 System.String.op_Equality
0000000000000000 RemObjects.Elements.RTL.Delphi.DelphiString.InternalCreate (String.pas, line 1593)
0000000000000000 RemObjects.Elements.RTL.Delphi.DelphiString…ctor (String.pas, line 663)
0000000000000000 RemObjects.Elements.RTL.Delphi.DelphiString.op_Implicit (String.pas, line 597)
0000000000000000 RemObjects.Elements.RTL.Delphi.DelphiString.IsNullOrEmpty (String.pas, line 974) [repeated]

I hope you can help because I so wanted this to be a good product.

Thanks,

Adam

1 Like

For the crash; if you can send the Windows event log callstack (if it’s there) when it’s happening, we can take a look.

I’ll create a bug report with a high prio for the stack overflow issue.

Logged as bugs://E25901.

Hi, there is no event log callstack, I just get this dialog box:

av

If I click OK, Visual Studio just exits.

Interestingly VS2019 works, but it doesn’t seem to support .NET 6, which is why we chose VS2022.

bugs://E25901 was closed as fixed.

Very odd. any pattern to it? Like what fails to compile when this happens?

Crash.zip (300.5 KB)

Hi, I have uploaded a project which demonstrates the issue. It builds fine, then if you introduce an error into the variants.pas file (any syntax error will do) then build then it crashes.

Hope this helps.

How can I get hold of this fix, I only have the trial version (for now).

@Diego_Navarro Just the new Delphirtl right?

Yes, just update DelphiRTL to latest

If you grab GitHub - remobjects/DelphiRTL: Part of the RTL2 project, a Delphi-compatible RTL and non-visual VCL library implementation. and build it (in water you can pick what platform to build easily) and replace the dll in Program Files (x86)\RemOBjects\Elements… .with the newly built one, it will work.

That’s great, I will try that tomorrow.

Did you manage to test the crash.zip I uploaded in a previous reply?

I tried to build DelphiRTL but at the end of the build I get the following error:

Hi Adam, that’s because our .net assembly is signed. You can create an .snk key or disable the key signing process. For that, please modify AssemblyInfo.pas file and comment the line:

[assembly: AssemblyKeyName(‘RemObjectsSoftware’)]

This will allow to build the .net library without signing it.

Many thanks

By the way, we reproduced your issue compiling the crash.zip project in VS2022. A report has been created for the IDE team:
https://www.remobjects.com/portal/bugs/?id=E25904

Thanks!