OK, mam chyba zaćmienie. Sytuacja wygląda tak:
Mam 2D tablicę dynamiczną: array[a, x] of byte
Teraz muszę przepisać jej zawartość do pewnego miejsca w pamięci:
var
pb: PByte;
p: Pointer;
i: integer;
size: integer;
begin
size:=a*x;
GetMem(pb, size);
for i:=0 to high(MyArray) do
begin
p:=Pointer(pb);
p:=p+(i*X); //<-- no i chodzi mi o tą linijkę
CopyMemory(p, @MyArray[i][0], X);
end;
end;
Mam nadzieję, że wszystko jest jasne.
Jak dodać jakąś wartość do wskaźnika? Czyli, jeśli w pierwszej iteracji P miało adres np. $00000000, w drugiej chcę żeby miało $00000000 + X
PS. Tak wiem, że p:=Pointer(pb) powinno być tylko raz przed pętlą. Taka konstrukcja dla uproszczenia.