Icon View Incident Report

Serious Serious
Reported By: Ralf Mimoun
Reported On: 5/13/2018
For: Version 2.06 Build 12
# 4643 Assigned Function Not Returning Correct Results in Boolean Expressions

The following code seems to show wrong results for Assigned:

The output is

[Internal Web Server] Log output: f is nil [Internal Web Server] Log output: assigned(f) is true

procedure TestAssigned;
var
  f: TForm;
begin
  f := nil;
  if f = nil then begin
    logoutput('f is nil');
  end
  else begin
    logoutput('f is not nil');
  end;
  if assigned(f) = false then begin
    logoutput('assigned(f) is false');
  end
  else begin
    logoutput('assigned(f) is true');
  end;
end;



Comments Comments
The compiler was "cheating" when emitting the JS code for the Assigned function and that caused issues when Assigned() was used in a comparison to a Boolean constant. This has been corrected so that the compiler emits a proper system function call that works in any expression.


Resolution Resolution
Fixed Problem on 5/15/2018 in version 2.06 build 13


Products Affected Products Affected
Elevate Web Builder
Elevate Web Builder Trial

Image