Can't reproduce with the following program: type TVertex = record x: double; y: double; end; PVertex = ^TVertex;
TEdge = record v1: PVertex; v2: PVertex; end; var edge_count: LongWord = 0; edge_list: array of TEdge; procedure add_edge(v1, v2: PVertex); begin inc(edge_count); SetLength(edge_list, edge_count); WriteLn(v1^.x:1:4,' ',v1^.y:1:4); // this edge_list[edge_count - 1].v1 := v1; WriteLn(v1^.x:1:4,' ',v1^.y:1:4); // outputs the same thing as this edge_list[edge_count - 1].v2 := v2; end; var a: PVertex; begin New(a); a^.x := 2.56; a^.y := 3.14; add_edge(a,nil); Dispose(a); end. -- View this message in context: http://free-pascal-general.1045716.n5.nabble.com/Problems-with-assigning-pointers-tp5630400p5630539.html Sent from the Free Pascal - General mailing list archive at Nabble.com. _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal