Потому что, когда копируешь исходники из интернета, надо быть внимательнее. Первая же ссылка в гугле по примеру использования scanline дает (
http://edn.embarcadero.com/article/29173):
Код:
type
TRGB32 = packed record
B, G, R, A: Byte;
end;
TRGB32Array = packed array[0..MaxInt div SizeOf(TRGB32)-1] of TRGB32;
PRGB32Array = ^TRGB32Array;
Тут используется 32-битный пиксель (с прозрачностью), но это не принципиально. Смотри на описание типа массива.