Nein, das Array hat eine statische Länge und die kann eben nicht geändert werden.
Du kannst den Range-Check aber gezielt für diesen Part ausschalten:
Delphi-Quellcode:
procedure MeineBildverarbeitung(..........);
type
PScanline: ^TScanline;
TScaneline: array[0..0] of byte; // JEDES statisch definierte Array erfüllt prinzipiell die Anforderung
var
ByteLine : PScanline;
i, j : Integer;
xmax : Integer;
ymax : Integer;
begin
aBmp.pixelformat := pf24bit;
for j := ystart to ymax do
begin
ByteLine := aBmp.ScanLine[ j ];
{$R-} // Rangecheck AUS
BValueArray[ i - xstart, j - ystart ] := ByteLine[ 3 * i ];
GValueArray[ i - xstart, j - ystart ] := ByteLine[ 3 * i + 1 ];
RvalueArray[ i - xstart, j - ystart ] := ByteLine[ 3 * i + 2 ];
{$R+} // Rangecheck EIN