pas2js "can't find unit \"System.Generics.Collections\""

I have stripped the project right back, and I'm still getting the error.

Test_TMSWebCompiler.zip (19.8 KB)

The issue has been found.

The project contains a build event which is set against the debug configuration, and that's what's causing the fault.

It doesn't explain why it builds in the IDE though...

We can reproduce it and will investigate.
I suspect some XML node in your .DPROJ is missing. We will research and try to make the tool more robust against this.

We will update tmswebcompiler to handle this.
As a workaround for now, delete the nodes
PreLinkEvent and PostBuildEvent.
in the .DPROJ XML and it should work.

TMSWEBCompiler works now, but I get an issue with pas2js failing to find unit 'System'. Given that the tripped down version doesn't give that error, I'll have to investigate further.

Start with checking the pas2js library path

Isn't that all built into TMSWebCompiler? How does that generate the paths required to send to pas2js?

Path is taken from settings in the IDE under Tools, Options, TMS WEB, Library path.
Important is that it should contain the one & correct path to your latest version install "Core Source" subfolder and "Core Source\RTL" subfolder.

What is interesting on my VM is that the Library Path is blank, so I'm curious as to whether this is a fault in the installation of TMS (which doesn't explain why it builds in the IDE and not from the command line) or whether the IDE holds the path somewhere else?

Any ideas?

You always use the same Windows user account?

Yes, it's all signed in with Windows credentials.

I'm out of ideas really.
If you use a single Windows user account only, the settings are in the registry and should be the same at all times for this Windows user.

I have looked in the registry under Computer\HKEY_CURRENT_USER\SOFTWARE\tmssoftware\TMS WEB Core and Library Paths is blank there.

None of this really makes any sense to me. Logically, it shouldn't even build in the IDE.

Again, I can only guess two different Windows user accounts are involved here looking at different registry settings.

Unfortunately, that's not the case. This is a VM created specifically for development, and I'm the use that installed everything.

For now, I'm going to have to leave it and just release from that VM, until I can find a way to get the command line working and move it over to Jenkins.

Thank you for your time and assistance.

1 Like