Ako priklad som urobil taketo nieco, neviem, ci to je spravne:
...
var p1, p2: ^integer;
pole: array[1..10] of integer;
begin
ListBox1.Items.Clear; // prebehne vypocet
for i:= 1 to 10 do
pole[i]:= i;
p1:= @pole[1];
p2:= @pole[10];
for i:= 1 to 5 do
begin
p1^:= p1^ + p2^;
p2^:= p1^ - p2^;
p1^:= p1^ - p2^;
inc(p1);
dec(p2);
end;
for i:= 1 to 10 do
ListBox1.Items.Add(IntToStr(pole[i]));
ShowMessage(IntToStr(p1 - p2)); // tu vznikne problem
...
end;
Pri kompilacii sa program ani neprelozi, hned vyhlasi chybu, uz presne neviem aka, ale je to: operand nie je akceptovatelny... nemam teraz spustene Delphi... proste, ze tento operand tam nema co hladat...
edit: p1 a p2 su smerniky na staticke lokalne pole...