Sure, even I can do this...
var
testarray : array of string;
setlength(testarray, 5);
but if I want to get clever and have a procedure into which I pass the array by referance like this I cant do it!
procedure DoStuffWithArray(var passedarray : array of string);
begin
setlength(passedarray, 5);
end;
compiler says 'incompatible types' on the single line of code in my proc.
I can do other stuff on the array like set set element values if i do a setlength before i call the proc, but I cannot do the setlength in my proc, which is what I want to do.
Any help much appreciated, thanks all.
Array types as parameters need to have a name. So:
type TStringArray = array of string;
procedure DoStuffWithArray(var passedarray: TStringArray);
Then it would work.
But if you need a dynamically-sized group of strings, you'd probably find a TStringList easier to use anyway.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With