Code: Select all
program pointer1;
type str20 = string[20];
type tmyrec2 = record
a,b,d : byte;
end;
type tmyrec1 = record
positionx ,
positiony ,
positionz : longint;
settings : array[3] of tmyrec2;
end;
var myrec : ^tmyrec1;
therealvar : tmyrec1;
res : longint;
tmp2 : ^tmyrec2;
jpc : str20;
begin
therealvar.positionx := 1723; // ok
myrec := @therealvar; // ok
myrec^.positiony:= 321; // ok
therealvar.settings[2].b := 123; // does not show correct in debugger
jpc[12]:=therealvar.settings[2].b; // however was assigned correct as it show here
tmp2 := @therealvar.settings[0]; // pointer itself seems now to be located inside therealvar !
tmp2^.b := 17; // ok
end.