← board

Indexed (array) properties + defaultproperty Items[i]: T read G write P

Symptom

Indexed (array) properties are not parsed:

type T = class
  FI: array of Pointer;
  function G(i: Integer): Pointer;
  property Items[i: Integer]: Pointer read G;          { ERROR }
  property Items[i: Integer]: Pointer read G; default; { ERROR }
end;

Expected: :, but got: at the [ of the property declaration. Simple (non-indexed) properties work. No rtl/pcl unit currently uses an indexed property — the feature is unbuilt.

Why it matters (high value)

This is the standard idiom for every collection, so it gates a lot:

Scope

Done when

Log