Icon View Incident Report

Serious Serious
Reported By: Michael Dreher
Reported On: 11/8/2017
For: Version 2.06 Build 10
# 4599 Emitted JavaScript Initialization/Finalization Identifiers Can Conflict with Existing Functions

The code is as follows. The result is a "runtime stackoverflow" by some browsers, or "invalid script" by others. The JavaScript function "reports_init" is generated twice.

function reports_init(i) // <-- my functions
{
  reports_fi = i;
};

function reports_init() // <-- unit initialization function
{
  reports_init(123);
};

The work around is simply to rename the procedure "Reports_Init" to something different.

unit Reports;
interface
uses WebCore;
                             
implementation
var FI : integer;

procedure Reports_Init(i : integer);
begin
 FI := i;
end;

initialization
 Reports_Init(123);
end.



Comments Comments and Workarounds
The compiler now looks for any conflicts with the emitted initialiation/finalization function names and generates non-conflicting names. The workaround is as Michael indicates.


Resolution Resolution
Fixed Problem on 11/9/2017 in version 2.06 build 11


Products Affected Products Affected
Elevate Web Builder
Elevate Web Builder Trial

Image