Delphi Error – E2246 Need to specify at least one dimension for SetLength of dynamic array

Delphi Compiler Error

E2246 Need to specify at least one dimension for SetLength of dynamic array

Reason for the Error & Solution

The standard procedure SetLength has been called to alter the length of a dynamic array, but no array dimensions have been specified.

program Produce;

  var
    arr : array of integer;

begin
  SetLength(arr);
end.


The SetLength in the above example causes an error since no array dimensions have been specified.

program solve;

  var
    arr : array of integer;

begin
  SetLength(arr, 151);
end.


To remove this error from your program, specify the number of elements you want the array to contain.

Share:

Leave A Reply

Your email address will not be published. Required fields are marked *

You May Also Like

Delphi Compiler Error X2421 Imported identifier ‘%s’ conflicts with ‘%s’ in ‘%s’ Reason for the Error & Solution This occurs...
Delphi Compiler Error X2367 Case of property accessor method %s.%s should be %s.%s Reason for the Error & Solution No...
Delphi Compiler Error X2269 Overriding virtual method ‘%s.%s’ has lower visibility (%s) than base class ‘%s’ (%s) Reason for the...