I hadn't seen this mail, don't know why. I attach here the whole procedure, it's not long. ------------------------------------------------------------------~ procedure addoneket2 ( var ktsa: PMatr2Dob10; neact: integer; var lastket: integer ); var i, j, itop, jtop, i1, i2, i3, i4, j1, j2, j3, j4: integer; ktsb: Pmatr2Dob10; begin //create a new array, k4, one row longer //to accomodate the new vector. //lastket is the last element of the NEW array. //copy k3 to k4, //then redimension k3, //finally copy k4 back into k3. inc ( lastket ); jtop := 4 * neact; new ( ktsb, lastket, jtop ); for i4 := 1 to lastket - 1 do begin for j4 := 0 to jtop do begin ktsb ^[ i4, j4 ] := ktsa ^[ i4, j4 ]; end; end; new ( ktsa, lastket, 4 * neact ); for i4 := 1 to lastket - 1 do begin for j4 := 0 to jtop do begin ktsa ^[ i4, j4 ] := ktsb ^[ i4, j4 ]; end; end; dispose ( ktsb ); //free heap memory by disposing of ktsb. end; //end procedure ------------------------------------------------------------ | Can you give a code snippet of what you are doing exactly ? | | maurice | | -- | Maurice Lombardi | Laboratoire de Spectrometrie Physique, | Universite Joseph Fourier de Grenoble, BP87 | 38402 Saint Martin d'Heres Cedex FRANCE | Tel: 33 (0)4 76 51 47 51 | Fax: 33 (0)4 76 63 54 95 | mailto:Maurice.Lombardi@ujf-grenoble.fr | | |