Or maybe we should ask whether this is a good project?
That's is not what I'm looking for. I just want to know if the syntax is valid or not. I tried it in the latest Delphi and it works, but I don't have older Delphi versions to test with, or FreePascal for that matter.
Moreover, what disadvantages could it have? Or what unforeseen consequences it may result in?
As I explained earlier, while iterating this particular string list, there may be items in it that span across multiple strings, so a linear iteration of the list will have to skip strings at times, as individual strings won't be processable as-is but only when combined with related strings. So, the caller's index would need to be updated by the appropriate number of strings that are to be skipped.
Obviously, there are better design choices, ie a dedicated extraction method (which actually does exist in the code), or a custom enumerator, etc, but that is not what I'm asking for in this situation. I just want to know whether or not this syntax for index properties is supported by FreePascal. Period. I don't need a full discussion over this.