Icon View Incident Report

Serious Serious
Reported By: Raul Sinimae
Reported On: 11/7/2012
For: Version 1.01 Build 2
# 3692 Compiler Generates Incorrect Code for Array of Class Instances Index Reference

I'm using an array to store objects and need to do a cast which technically should not be needed (unless i'm doing something wrong):

setup:
- i have my own class called TJsonRecord (for json parsing actually) that basically has 2 string (key and value) and number of helper functions. One of those is procedure AddStringValue(Key,Val:string);
- my own custom parser class has a "RecArr : array of TJsonRecord"
- my logic to add an array entry is as follows:

Note that i had to cast the last line - if i use RecArr[NewIndx].AddStringValue(Key,Value); then i would get an error :

jsonparser_recarr[...].addstringvalue(...)' is null or not an object
line 15882

procedure TJsonParser.AddNewRec(Key,Value:String);
var
 NewIndx:integer;
begin                       
  NewIndx := Length(RecArr);
  SetLength(RecArr,NewIndx+1);
  RecArr[NewIndx] := TJsonRecord.Create;
  TJsonRecord(RecArr[NewIndx]).AddStringValue(Key,Value);
end;



Resolution Resolution
Fixed Problem on 11/8/2012 in version 1.01 build 3


Products Affected Products Affected
Elevate Web Builder
Elevate Web Builder Trial

Image