@dseligo
Unit SysUtils:
type
TStringArray = Array of string;
Hence, no: no need to "free".
There is
var a: TStringArray;
begin
a := TStringArray.create('a1','b2','c3');
end
Which will initialize the array.
I have no idea what the original
was meant to do.
But, since tmpList is a dynamic array (unless Wilko500 has a different definition of TStringArray in his code / though "string.split" matches the dyn-array definition, hence it should be as given above), the line is pointless.
The very next line:
tmpList:=ChList.Split(['|'],TStringSplitOptions.ExcludeEmpty);
Will assign the result of split to tmpList.
So whatever "tmpList.Create" may have been supposed to do, it will be overwritten.
As to why it supposedly worked before => no idea.