Existing WebApp Won't Run

Of course, but doesn't this prove that nothing my end is blocking access, so why is it not compiling from within the IDE?

I am out of ideas.

Since we cannot see this anywhere else so far, there must be something very specific on your machine.
Do you have any special Delphi 3rd party tools installed that might interfere?

I have EurekaLog, JEDI and use the IDEFixPack for Delphi 10.3.2. I have tried unstalling the IDEFixPack and it makes no difference. I use DevEx components, but I always have. All TMS components are installed to a the same path on my C:Drive, not the default. I also use ESET antivirus but this path is excluded from checking.

I have uninstalled EurekaLog on my laptop and TMS Web projects now run
correctly. I have always had EurekaLog co-existing with TMS Web before
(EurekaLog disabled for the project), so there must have been a change
in  their latest version.

We do have Eurekalog installed here on a couple of machines, but not the latest version, so we are not aware of a conflict with it and have not heard of others having an issue.

Have you contacted Eurekalog?

I have sent them a message today. Can you please try with Eurekalog version 7.7.8.120?

Feedback from Eurekalog below. Perhaps you guys should communicate:

I have checked the WebCore trial and was able to reproduce behaviour. However, I am puzzled by this. The problem is NOT that pas2js does not run: pas2js does not run because there is NO output file (project.exe)!

(in fact, EurekaLog uses the same logic: if output file does not exist, then EurekaLog assumes that compilation has failed, thus silently does nothing)

About why output file does not exist: that's strange. I have enabled debug output for EurekaLog, as well as used Process Monitor. And found nothing suspicious. Output file simply is not created...


Further feedback for Eurekalog technical support:

I think that I have found the problem.

It seems that TMS Web Core changes project compilation workflow (???). For example, when you compile a normal project, it goes like this (IOTA*** are Delphi's OpenTools API callback interfaces):
1. IOTACompileNotifier.ProjectGroupCompileStarted
2. IOTAIDENotifier.BeforeCompile
3. IOTAProjectCompileNotifier.BeforeCompile
4. IOTACompileNotifier.ProjectCompileStarted
5. Actual compilation (.exe file is created)
6. IOTACompileNotifier.ProjectCompileFinished
7. IOTAIDENotifier.AfterCompile
8. IOTAProjectCompileNotifier.AfterCompile
9. IOTACompileNotifier.ProjectGroupCompileFinished

However, when you compile TMS Web Core project, the workflow goes like this:
1. Actual compilation (.exe file is created)
2. IOTACompileNotifier.ProjectGroupCompileStarted
3. IOTAIDENotifier.BeforeCompile // compiled .exe file already exists!!!
4. IOTAProjectCompileNotifier.BeforeCompile
5. IOTACompileNotifier.ProjectCompileStarted
6. ???
7. IOTACompileNotifier.ProjectCompileFinished
8. IOTAIDENotifier.AfterCompile
9. IOTAProjectCompileNotifier.AfterCompile
10. IOTACompileNotifier.ProjectGroupCompileFinished

This is very strange workflow. It does not look like it should be like that (e.g. it does not make sense to fire "BeforeCompile" events AFTER project was already compiled). So that is why I assume that TMS Web Core modifies it.

EurekaLog installs notifiers for "BeforeCompile" and "AfterCompile" events. EurekaLog deletes .exe file in "BeforeCompile" event, so it can check if compilation was successfull inside "AfterCompile" event. This is an essential step, because otherwise if compilation has failed and IDE did not created output file - the old output file will still exist, so EurekaLog may edit that file, which is incorrect.

This is not a problem for usual projects, because .exe file is compiled/created after "BeforeCompile" events. However, this is a problem for TMS Web Core project, because events happen in the reverse order, so EurekaLog ends up deleting already compiled file. EurekaLog has no way to detect this case.

Since this EurekaLog's behaviour exists since very first versions (e.g. for many years), so I would assume that something was changed in TMS Web Core or (perhaps) IDE? I would suggest to contact TMS support with the above description. They should know more about project compilation workflow of their projects.

As mentioned, we use Eurekalog here as well, just not the very latest version, and we never had an issue so we suspect something must have changed then in their latest version. We will investigate.

Thanks. I have asked them why they are doing anything when Eurekalog is disabled for a project.

I installed Eurekalog and could reproduce the issue. I talked to their support and could solve the problem. They will create a new version and then you can compile TMS Web Core projects again!

Great, Many thanks. I hope they provide a new soon!

I can confirm that this has been fixed in EurekaLog 7.7.8.133.<!--if gte mso 9>
<o:OfficeSettings>
<o:AllowPNG/>
</o:OfficeSettings>

Thanks for confirming.